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
也传递不应该通过。 我无法找到问题。任何想法?
答
您可以使用测试功能替换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
。仍然不适用于以上情况。我不明白为什么? –
您可能需要使用'RegExp.test'而不是'match'。 – Tushar
顺便说一句,'{1}'不是必需的。 – Tushar
'22AAAAA0000A1A5'不应该通过测试。与Z'不匹配[1-9A-Z] {1} Z [0-9A-Z] {1}' – Val