validator jQuery 유효성 검사 플러그인:문자 만 허용 하시겠습니까?




validate select value (7)

http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 에서 validate 플러그인을 사용하고 있습니다.

내가 뭘 찾으려고 노력하는 방법 중 일부는 내 양식 필드를 문자, 숫자, 특수 문자 등을 수락하게 만드는 것입니다 ...

어떤 생각 사람? 고마워.


작은 변화.

jQuery.validator.addMethod("accept", function(value, element, param) {
    return value.match(new RegExp("^" + param + "$"));
});

그런 식으로 "#abc"와 같은 표현을 받아 들였습니다.


다음과 같이 시도해보십시오.

        var numbers = /[0-9]+/;
        var SpCharacters = /^\s*[a-zA-Z0-9\s]+\s*$/;

        if (!numbers.test(name) && !SpCharacters.test(name)) {
            return [false, "Name should be alphabetical.", ""];
        }

이것을 시도하십시오 : ( jquery 유효성 검사기를 사용하여 완벽한 사용자 정의 유효성 검사입니다 )

$(function() {

    $.validator.addMethod("alphabetsnspace", function(value, element) {
        return this.optional(element) || /^[a-zA-Z ]*$/.test(value);
    });

    $("#add-employee").validate({
        rules: {
            employee_surname: {
                required: true,
                alphabetsnspace: true
            },
            employee_firstname: {
                required: true,
                alphabetsnspace: true
            },
            employee_othername: {
                alphabetsnspace: true
            },
            father_name: {
                required: true,
                alphabetsnspace: true
            },
            mother_name: {
                required: true,
                alphabetsnspace: true
            },
            spouse_name: {
                alphabetsnspace: true
            },
            ssn: {
                number: true,
            },
            phone_no: {
                number: true,
            },
            phone_no2: {
                number: true,
            },
            passport: {
                number: true,
            },
            driving_license: {
                number: true,
            },
            email: {
                email: true
            }
        },
        messages:
            {
                "employee_surname":{
                    alphabetsnspace: "Please Enter Only Letters"
                },
                "employee_firstname":{
                    alphabetsnspace: "Please Enter Only Letters"
                },
                "employee_othername":{
                    alphabetsnspace: "Please Enter Only Letters"
                },
                "father_name":{
                    alphabetsnspace: "Please Enter Only Letters"
                },
                "mother_name":{
                    alphabetsnspace: "Please Enter Only Letters"
                },
                "spouse_name":{
                    alphabetsnspace: "Please Enter Only Letters"
                },
            }
    });
});

스크립트에서 아래 코드를 사용하십시오. 이는 유효성 검사기에 새로운 절을 추가합니다.

$.validator.addMethod(
        "alphabetsOnly",
        function(value, element, regexp) {
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
        },
        "Please check your input values again!!!."
);
$("#formElement").rules("add", {alphabetsOnly: "^[a-zA-Z'.\\s]$" })

사용자 정의 유효성 검사기를 추가하고 다음과 같이 사용하면됩니다.

jQuery.validator.addMethod("accept", function(value, element, param) {
  return value.match(new RegExp("." + param + "$"));
});

숫자 만 :

rules: {
  field: { accept: "[0-9]+" }
}

글자 만

rules: {
  field: { accept: "[a-zA-Z]+" }
}

jQuery Validate 플러그인에는 다음과 같이 additional-methods.js 파일의 일부로 lettersonly 라는 규칙이 이미 있습니다.

$.validator.addMethod( "lettersonly", function( value, element ) {
    return this.optional( element ) || /^[a-z]+$/i.test( value );
}, "Letters only please" );

다음과 같은 사용자 정의 유효성 검사기를 추가하는 방법은 정상적으로 작동하지만 유효성 검사는 키 입력시 발생하므로 사용자가 텍스트를 입력하는 동안 오류가 계속 표시됩니다.

return value.match(new RegExp(""));

아래의 방법은 Alphabets and Spaces, Name field에 이상적입니다.

jQuery.validator.addMethod("alphabetsAndSpacesOnly", function (value, element) {
    return this.optional(element) || /^[a-zA-Z\s]+$/.test(value); });

    $("FieldId").rules("add", {
        alphabetsAndSpacesOnly: true,
        messages: { alphabetsAndSpacesOnly: "Please enter a valid name." }
    });






jquery-validate