programing

jQuery의 정규식 필드 유효성 검사

css3 2023. 10. 27. 22:07

jQuery의 정규식 필드 유효성 검사

jQuery에서 문자열에 주어진 정규식을 맞추기 위해 사용할 수 있는 함수/플러그인이 있습니까?

예를 들어 전자 메일 입력 상자에서 전자 메일 주소를 받고 올바른 형식인지 확인합니다.제 정규식 검증이 입력과 일치하는지 확인하려면 어떤 jQuery 기능을 사용해야 합니까?

해결책을 찾아봤지만 아무것도 찾을 수가 없었습니다.

regex를 기반으로 일부 요소를 검색하고 싶었으면 다음을 사용할 수 있습니다.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 }

저는 이렇게 하면 된다고 생각합니다.

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

URL이나 이메일 주소 등에 패턴이 내장되어 있고, 본인의 것도 사용할 수 있을 것 같습니다.

특정한 것을 찾는 것이 아니라면 문자열이 있는 정규 자바스크립트를 사용하여 정규 표현식 매칭을 이미 할 수 있습니다.

예를 들어 문자열을 사용하여 매칭을 수행할 수 있습니다.

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();
            }
        });

요즘의 간단한 예:

$('#some_input_id').attr('oninput',
"this.value=this.value.replace(/[^0-9A-Za-z\s_-]/g,'');")

즉, regex와 일치하지 않는 모든 것이 아무것도 되지 않는다는 것을 의미합니다.''

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