기호와 일치하는 정규식 :! $ % ^ & * () _ + | ~-=`{} [] : "; '<>?,. /
다음 문자를 포함하는 문자열을 테스트하는 JavaScript에서 Regex 테스트를 만들려고합니다.
!$%^&*()_+|~-=`{}[]:";'<>?,./
관심이 있다면 더 많은 정보 :)
제가 작업중인 매우 멋진 암호 변경 응용 프로그램입니다. 관심이있는 경우 나머지 코드는 여기에 있습니다.
암호 요구 사항을 나열하는 테이블이 있고 최종 사용자가 새 암호를 입력하면 정규식 배열을 테스트하고 해당 테이블 행에 체크 표시를합니다 ... 체크 아웃합니다. validation
배열 의 네 번째 항목 대신 .
var validate = function(password){
valid = true;
var validation = [
RegExp(/[a-z]/).test(password), RegExp(/[A-Z]/).test(password), RegExp(/\d/).test(password),
RegExp(/\W|_/).test(password), !RegExp(/\s/).test(password), !RegExp("12345678").test(password),
!RegExp($('#txtUsername').val()).test(password), !RegExp("cisco").test(password),
!RegExp(/([a-z]|[0-9])\1\1\1/).test(password), (password.length > 7)
]
$.each(validation, function(i){
if(this)
$('.form table tr').eq(i+1).attr('class', 'check');
else{
$('.form table tr').eq(i+1).attr('class', '');
valid = false
}
});
return(valid);
}
예, 해당 서버 측 유효성 검사도 있습니다!
이것에 대한 정규식은 정말 간단합니다. 문자 클래스를 사용하십시오. 하이픈은 문자 클래스의 특수 문자이므로 첫 번째 여야합니다.
/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]/
다른 정규식 메타 문자도 이스케이프해야합니다.
편집 : 하이픈은 문자 범위를 나타내는 데 사용할 수 있으므로 특별합니다. 이 동일한 문자 클래스는 다음과 같은 범위로 단순화 할 수 있습니다.
/[$-/:-?{-~!"^_`\[\]]/
세 가지 범위가 있습니다. '$'는 '/', ':'는 '?', '{'는 '~'입니다. 마지막 문자열은! "^ _`[] 범위로 더 간단하게 표현할 수 없습니다.
ACSII 테이블 을 사용하여 문자 클래스의 범위를 찾으십시오.
가장 간단하고 짧은 방법은 이것을 사용하는 것입니다.
/[\W\S]/
의미 : 숫자, 영문자 ( \W
) 또는 공백 문자 ( \S
) 가 아닌 모든 문자 .
Jeff의 솔루션만큼 완벽하지는 않지만 훨씬 간단하고 실용성이 다르지 않다고 생각합니다.
// The string must contain at least one special character, escaping reserved RegEx characters to avoid conflict
const hasSpecial = password => {
const specialReg = new RegExp(
'^(?=.*[!@#$%^&*"\\[\\]\\{\\}<>/\\(\\)=\\\\\\-_´+`~\\:;,\\.€\\|])',
);
return specialReg.test(password);
};
'A'의 모든 언어에서 후자를 모두 바꾸고 예를 들어 모든 숫자를 0으로 바꾸려면 다음을 수행하십시오.
return str.replace(/[^\s!-@[-`{-~]/g, "A").replace(/\d/g, "0");
참고 URL : https://stackoverflow.com/questions/8359566/regex-to-match-symbols
'your programing' 카테고리의 다른 글
선택적 매개 변수의 기본값으로 빈 배열 전달 (0) | 2020.10.14 |
---|---|
R로 빌드 된 모델 재사용 (0) | 2020.10.14 |
API <21의 드로어 블 틴팅 (0) | 2020.10.13 |
iOS 다운로드 및 앱 내 이미지 저장 (0) | 2020.10.13 |
proxy_pass를 사용할 때 nginx에 응답 헤더를 추가하는 방법은 무엇입니까? (0) | 2020.10.13 |