我使用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
}
});
});
答案 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');
}