2016-01-04 52 views
1

我想添加一個PAN號驗證不允許特殊字符不允許在PAN一些特殊字符,但我的代碼如下無法按預期工作:如何使用BackboneJS

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" 
    }); 
} 
+0

什麼錯誤? – StateLess

+0

沒有錯誤..它也接受pl字符。 Regx/[^ a-zA-Z0-9] /不起作用。 –

+1

這是模型的代碼部分?它被執行了嗎?粘貼完整代碼 – StateLess

回答

2

你的正則表達式是檢查是否任何特殊字符存在或不存在,如果存在,則返回true,這與!運算符相反,所以當出現特殊字符時不滿足條件。

您應該刪除!如果條件

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