jQuery의 정규식 필드 유효성 검사
jQuery에서 문자열의 지정된 정규식을 일치시키는 데 사용할 수있는 함수 / 플러그인이 있습니까?
예를 들어, 이메일 입력 상자에서 이메일 주소를 받고 올바른 형식인지 확인하고 싶습니다. 정규 표현식이 입력과 일치하는지 확인하려면 어떤 jQuery 함수를 사용해야합니까?
해결책을 찾기 위해 검색했지만 아무것도 찾을 수 없었습니다.
나는 이것이 그것을 믿는다 :
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
URL 및 이메일 주소와 같은 항목에 대한 기본 패턴이 있으며 자신의 고유 한 패턴도 사용할 수 있다고 생각합니다.
정규식을 기반으로 일부 요소를 검색하려면 filter
함수를 사용할 수 있습니다 . 예를 들어, 모든 입력 상자에 사용자가 숫자 만 입력했는지 확인하고 싶었으므로 일치하지 않는 모든 입력을 찾아 강조 표시해 보겠습니다.
$("input:text")
.filter(function() {
return this.value.match(/[^\d]/);
})
.addClass("inputError")
;
물론 이런식이라면 양식 유효성 검사 플러그인을 사용할 수 있지만이 방법은 원하는 모든 요소에 적용 할 수 있습니다. 내가 의미하는 바를 보여주는 또 다른 예 : id
일치 하는 모든 요소 찾기/[a-z]+_\d+/
$("[id]").filter(function() {
return this.id.match(/[a-z]+_\d+/);
});
나는 jQuery와 JavaScript를 사용하고 있으며 잘 작동합니다.
var rege = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if(rege.test($('#uemail').val())){ //do something }
특정한 것을 찾고 있지 않는 한, 정규 자바 스크립트를 문자열과 함께 사용하여 이미 정규식 매칭을 할 수 있습니다.
예를 들어, 다음과 같이 문자열을 사용하여 일치를 수행 할 수 있습니다.
var phrase = "This is a phrase";
phrase = phrase.replace(/is/i, "is not");
alert(phrase);
일반적인 정규식 일치 외에 찾고있는 것이 있습니까?
내 코드 :
$("input.numeric").keypress(function(e) { /* pour les champs qui ne prennent que du numeric en entrée */
var key = e.charCode || e.keyCode || 0;
var keychar = String.fromCharCode(key);
/*alert("keychar:"+keychar + " \n charCode:" + e.charCode + " \n key:" +key);*/
if ( ((key == 8 || key == 9 || key == 46 || key == 35 || key == 36 || (key >= 37 && key <= 40)) && e.charCode==0) /* backspace, end, begin, top, bottom, right, left, del, tab */
|| (key >= 48 && key <= 57) ) { /* 0-9 */
return;
} else {
e.preventDefault();
}
});
jquery.validate.js (joern 작성), Scott Gonzalez 제공 : http://projects.scottsplayground.com/email_address_validation/
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i
MVC Razor를 사용하는 경우 @@을 두 배로 늘려야합니다.
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i
스파게티를 원하십니까?
참고 URL : https://stackoverflow.com/questions/345194/regular-expression-field-validation-in-jquery
'programing tip' 카테고리의 다른 글
Go 맵을 json으로 변환 (0) | 2020.10.22 |
---|---|
'int'의 차이점은 무엇입니까? (0) | 2020.10.21 |
유니 코드 문자열을 이스케이프 된 ASCII 문자열로 변환 (0) | 2020.10.21 |
리플렉션을 통해 nullable 속성 유형 찾기 (0) | 2020.10.21 |
배치 파일에서 콘솔의 입력을 읽는 방법은 무엇입니까? (0) | 2020.10.21 |