jQuery:正则表达式不工作

问题描述:

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

您可以使用测试功能替换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

。仍然不适用于以上情况。我不明白为什么? –