如何在jQuery中添加其他方法来验证NIC号?

时间:2014-05-14 08:09:07

标签: jquery validation jqueryform

我使用jquery验证插件来验证我的表单但是在一个文本框中我想验证我们国家的NIC(国民身份证)号码。我得到了NIC号码的正则表达式,任何人都可以告诉我如何添加其他方法验证这一点。

网卡号的重新表达式:/^[0-9]{9}[vVxX]$/ 文本框ID:showNic

这是我的jQuery代码......

$(document).ready(function () {
    jQuery.validator.setDefaults({
        // where to display the error relative to the element
        errorPlacement: function (error, element) {
            error.appendTo(element.parent().find('div.myErrors'));
        }
    });
    $('#basicDetails').validate({ // initialize the Plugin
        rules: {
            fname: {
                required: true,
                lettersonly: true,
            },
            lname: {
                required: true,
                lettersonly: true,
            },
        },
        messages: {
            fname: {
                required: "Please enter your first name",
                lettersonly: "Login format not valid",
            },
            lname: {
                required: "Please enter your last name",
                lettersonly: "Login format not valid",
            },
        },
        submitHandler: function (form) { // for demo
            alert('valid form submitted'); // for demo
            return false; // for demo
        }
    });
});

2 个答案:

答案 0 :(得分:1)

你必须添加方法

$.validator.addMethod('NICNumber', function (value) { 
    return  /^[0-9]{9}[vVxX]$/.test(value); 
}, 'Please enter a valid National Identity Card Number.');

然后你会添加你的规则:

showNic: {
      required: true,
      NICNumber: true
},

答案 1 :(得分:0)

JavaScript解决方案

var cnic_no = '922781800x',
cnic_no_regex = /^[0-9+]{9}[vVxX]{1}$/;

if(cnic_no_regex.test(cnic_no)) 
{
    alert('Right');
}
else 
{
    alert('Wrong');
}