NI编号验证Jquery

时间:2011-06-03 15:47:59

标签: jquery validation

$.validator.addMethod(
    "ninumber",
    function(value, element) {
        return this.optional(element)
          || /^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$/.test(value);
    },
    "Please enter a valid NI Number."
);

任何人都可以发现代码示例的任何问题吗?对我来说似乎很好,但正确的值仍显示为有错误。我正在使用jQuery Validation插件为NI编号添加方法。

1 个答案:

答案 0 :(得分:3)

它不允许空格,因此您需要先删除它们。我刚刚检查过并验证了我的NI编号,但只是没有空格。

所以,你想要的东西是:

/^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$/.test(value.replace(/\s/g, ''));

如果真的希望将其保留为单行验证。就个人而言,我会重新格式化/重构:

$.validator.addMethod("ninumber", function(value, element) {
  var regexp = /^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$/;
  var strippedValue = value.replace(/\s/g, '');
  return this.optional(element) || regexp.test(strippedValue);
},  "Please enter a valid NI Number.");