我的字段应该采用A111-1A1格式,但我的正则表达式允许最后一个数字超过一位数(例如A111-1A1212341)。我该如何解决?
以下是我目前正在使用的正则表达式。
var validchar = /^[A-Z](([0-9]{3})+\-)[0-9][A-Z][0-9]+$/;
答案 0 :(得分:2)
删除模式末尾的+
。这就是最后允许多个数字的原因。
var validchar = /^A-Z[0-9][A-Z][0-9]$/;
然而,你的模式看起来不正确,你做你想说的。这真的是你正在使用的确切模式吗?
答案 1 :(得分:0)
试试这个
var validchar = /^[A-Z][0-9]{3}\-[0-9][A-Z][0-9]$/;
或者从正则表达式的末尾删除+
var validchar = /^A-Z[0-9][A-Z][0-9]$/;
答案 2 :(得分:0)
只需从正则表达式中删除最终+
:
var validchar = /^[A-Z]([0-9]{3})+\-[0-9][A-Z][0-9]$/;