^<> % *() # !,을 (를) 제외한 모든 문자를 입력 필드에 허용하고 싶습니다. 이 때문에이 제약 조건을 사용하고 있습니다. 서버 측에 대한 클라이언트 측 유효성 검사정규식 패턴이 작동하지 않습니다
final String regexpattern = "/[^<>%*()#!?]/";
에 대한
final Pattern pat = Pattern.compile("/[^<>%*()#!?]/");
하지만 클라이언트 측에서
^<> % *() # !,을 (를) 제외한 모든 문자를 입력 필드에 허용하고 싶습니다. 이 때문에이 제약 조건을 사용하고 있습니다. 서버 측에 대한 클라이언트 측 유효성 검사정규식 패턴이 작동하지 않습니다
final String regexpattern = "/[^<>%*()#!?]/";
에 대한
final Pattern pat = Pattern.compile("/[^<>%*()#!?]/");
하지만 클라이언트 측에서
작동하지 않습니다는 패턴해야
regexpattern = /^[^<>%*()#!?]*$/
서버
final Pattern pat = Pattern.compile("^[^<>%*()#!?]*$");
또한'^ ^> 문자를 사용하지 않으려면'[^ <> % *() #!? ^]' – Robin
한 문자 만 사용하면 그 후에 "+"또는 "*"를 추가해야합니다.
문자열의 시작과 끝을 지정하기 위해 패턴에 ^
과 $
이 있어야합니다. 그렇지 않으면 문자열에 유효한 문자가 하나 이상 있는지, 문자열의 모든 문자가 유효하지 않은지 확인합니다.
또한 문자 집합에 대한 배율이 필요합니다. 그렇지 않으면 한 문자 길이의 문자열과 만 일치합니다. 0 개 이상의 문자를 허용하려면 *
을 사용하고 하나 이상의 문자를 허용하려면 +
을 사용하십시오. 범위를 사용할 수도 있습니다 (예 : {2,10}
). 2 - 10자를 허용합니다.
집합의 시작 부분에있는 ^
은 음수로 만들기 때문에 ^
을 허용하지 않으려면 집합의 문자 중에서도 필요합니다.
슬래시는 정규식 리터럴의 구분 기호입니다. 어느 쪽이든 당신은 정규 표현식 개체를 만드는 데 사용할 수있는 문자열로 패턴을 쓰기 :
pattern = "^[^^<>%*()#!?]+$";
하거나 정규 표현식 객체가된다 리터럴 정규 표현식으로 쓰기 :
regex = /^[^^<>%*()#!?]+$/;
일부 문자는 정규 표현식에서 이스케이프해야합니다.
이 시도 :
final String regexpattern = /[\^<>%*()#!?]+/ ;
final Pattern pat = Pattern.compile("[\^<>%*()#!?]+") ;
나에게 보인다 정규식이 True의 반환 값이 입력이 무효 인 의미하며, 거짓이 입력이 유효 의미를 제외하고 작동합니다. – OGHaza