2017-08-02 27 views
-2
jQuery.validator.addMethod('validateGSTNumber', function(name, element) { 
    return name.match(/^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$/);// regex 
}, ' '); 

我正在使用上述函數來驗證GST編號。它通過幾乎所有的情況。但有些情況下,像:jQuery:正則表達式不工作

22AAAAA0000A1A5,22AAAAA0000A0A5

也傳遞不應該通過。 我無法找到問題。任何想法?

+2

您可能需要使用'RegExp.test'而不是'match'。 – Tushar

+1

順便說一句,'{1}'不是必需的。 – Tushar

+1

'22AAAAA0000A1A5'不應該通過測試。與Z'不匹配[1-9A-Z] {1} Z [0-9A-Z] {1}' – Val

回答

0

您可以使用測試功能替換match.like:

22AAAAA0000A1A5,22AAAAA0000A0A5

也通過其無法通過。

return new RegExp(/^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$/).test(name) 
+0

。仍然不適用於以上情況。我不明白爲什麼? –