2014-05-14 37 views
0

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

为NIC数reqular表达:/^[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

http://jqueryvalidation.org/jQuery.validator.addMethod/ – Satpal

+0

@ Satpal这是正确的.... jQuery.validator.addMethod( “showNic” 功能(价值,element){ return this.optional(element)|| /^[0-9]{9}[vVxX]$/.test(value); },“请输入正确的网卡”); – Erandi

回答

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 
}, 
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'); 
}