2014-04-17 5 views
2

입력 텍스트 상자의 유효성을 검사합니다. 나는 정규 표현식을 처음 사용한다. 입력의 모든 문자가 특수 문자 인 경우 유효성 검사 오류를 throw하는식이 필요합니다. 하지만 문자열에 특수 문자를 허용해야합니다.특수 문자 만 사용하는 정규식

- (** &^&) _) ----> invalid.

abcd-as jasd12 ----> valid.

는 현재 문자열이 당신이 요구하는지와 동일해야합니다 적어도 한 문자 나 숫자를 포함하는 경우 긍정적 인 일치 /^[a-zA-Z0-9-]+[a-z A-Z 0-9 -]*$/

+1

특수 문자는 무엇입니까? – Toto

+0

! @ # $ %^& *() _- @ M42 –

+0

어떤 특수 문자를 허용 하시겠습니까? –

답변

1

를 사용하여 부정적 예측 :

DEMO

설정 설명

if (/^(?![\s\S]*[^\w -]+)[\s\S]*?$/im.test(subject)) { 
    // Successful match 
} else { 
    // Match attempt failed 
} 
:

^([^ \ w -] +?!.).? $

2

/[A-Za-z0-9]/ 숫자와 알파벳에 대한 검증. 문자 또는 숫자가 없으면 해당 정규식은 false로 평가됩니다.

+0

주위에'. *'이 필요 없습니다. – Barmar

+0

맞습니다. 지금 편집 중, 처음에 생각했던 것을 몰라요. – Helpful

+0

이 사이에 공백과 특수 문자를 허용합니까 ?? –

1

~[^a-zA-z0-9 ]+~ 문자열에 적어도 하나의 알파벳과 숫자 및 공백이 포함되어 있지 않으면 일치합니다. 좀 더 특별한 문자가있는 경우,

var regex = /^[[email protected]#$%^&*()_-]+$/; 
if (regex.test(string)) 
    // all char are special 

를 문자 클래스에 추가 : 사용할 수 있도록

Demo

관련 문제