2012-06-12 3 views
0

비밀번호 유효성 확인 화면에서 작업 중이며 요구 사항은 아래 나열된 것과 같은 기호가 하나 이상 있어야합니다.자바에서 심볼을 어떻게 일치 시키나요?

Javascript에서 제대로 작동하도록 어떻게 탈출해야합니까?

//validate symbol 
if (pswd.match(/`[email protected]#$%^&*()_+=-\][{}\;':"<>?,/./)) { 
    $('#symbol').removeClass('invalid').addClass('valid'); 
} else { 
    $('#symbol').removeClass('valid').addClass('invalid'); 
} 
+0

이스케이프 문자는 하나 뿐이며 "\"입니다. – dbkaplun

+0

아아아, 탈출 할 필요가있는 몇 가지 문자가 있습니다 ... –

+0

'$^*() + \] [{}? '모두를 이스케이프 처리해야합니다 –

답변

2

사용이 대신은 :

if (pswd.match(/[^A-Za-z0-9]+/)) { 

내가 당신이 원하는 문자 모르겠어요 목록 [A-Za-z0-9]

+1

왜'A-B '로 설정해야합니까? 'A-Z'라는 뜻이 아닌가요? –

+0

예, 맞습니다. 대답을 편집했습니다. – higuaro

+0

이것은 유니 코드 문자와도 일치합니다. 이것이 좋은지 아닌지 확실하지 않다 ... – nhahtdh

0

에 있지 않은 적어도 하나의 문자가 포함 된 텍스트와 일치 원래의 문자열이 꽤 지저분하기 때문에 일치합니다. 이 모든 문자 당신이 원하는 있는지 확인 : 명확하게하기 위해서

"we?dn^[email protected]#$%^&*()_+-={dsfs}sf[]\\|:\";',./?><".match(/[`[email protected]#$%^&*()_+=\]\[{};':"<>?,\/.-]/g) 
>> ["?", "^", "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "+", "-", "=", "{", "}", "[", "]", ":", """, ";", "'", ",", ".", "/", "?", ">", "<"] 

, 이것은 정규식 :

/[`[email protected]#$%^&*()_+=\]\[{};':"<>?,\/.-]/ 

편집이 \|을 포함 할 경우

이 정규식을 사용하십시오.

+0

@ makerofthings7 : 제 수정 된 답변을 확인하십시오. – nhahtdh

1

하이픈이 두 문자 사이에 있지 않으면 슬래시와 오른쪽 대괄호 만 문자 그룹에서 이스케이프 처리해야합니다.

if(/[/`[email protected]#$%^&*()_+=[{};':"<>?,.\/\]-]/.test(pswd)){ 
+0

나는 어떻게 피할 것인가? ? – LamonteCristo

관련 문제