如何使用BackboneJS禁止PAN编号中的特殊字符

时间:2016-01-04 05:40:26

标签: javascript backbone.js

我正在尝试添加PAN编号验证以禁止使用特殊字符,但我的代码如下所示无效:

if (attributes.isOwnProfile &&
    attributes.totalExperience > 0 &&
    $.trim(attributes.panNumber) == "") {
    errors.push({
        key: "panNo",
        message: "Required"
    });
} else if ($.trim(attributes.panNumber) != "" &&
    attributes.panNumber.length !== 10) {
    errors.push({
        key: "panNo",
        message: "Not a valid PAN No"
    });
} else if (!(/[^a-zA-Z0-9]/).test(attributes.panNumber)) {
    errors.push({
        key: "panNo",
        message: "Not a valid PAN No"
    });
}

1 个答案:

答案 0 :(得分:2)

您的正则表达式正在检查是否存在任何特殊字符,如果存在,则返回true,您使用!运算符进行否定,因此当存在特殊字符时,不满足条件。

您应该从if条件

中删除!
else if((/[^a-zA-Z0-9]/).test(attributes.panNumber)) {
   errors.push({
      key: "panNo",
      message: "Not a valid PAN No"
      });
}