我的领域应该符合A111-1A1的格式,但是我的正则表达式允许最后一个数字超过一位(例如A111-1A1212341)。我该如何修复它?
以下是我目前正在使用的正则表达式。
var validchar = /^[A-Z](([0-9]{3})+\-)[0-9][A-Z][0-9]+$/;
我的领域应该符合A111-1A1的格式,但是我的正则表达式允许最后一个数字超过一位(例如A111-1A1212341)。我该如何修复它?
以下是我目前正在使用的正则表达式。
var validchar = /^[A-Z](([0-9]{3})+\-)[0-9][A-Z][0-9]+$/;
在你的模式末尾删除+
。这是允许在末尾有多个数字的原因。
var validchar = /^A-Z[0-9][A-Z][0-9]$/;
然而,您的模式似乎不太适合实现您所说的目标。这确实是您正在使用的确切模式吗?
试试这个
var validchar = /^[A-Z][0-9]{3}\-[0-9][A-Z][0-9]$/;
或者从正则表达式的末尾移除 + 符号。
var validchar = /^A-Z[0-9][A-Z][0-9]$/;
只需从您的正则表达式中删除最后一个+
即可:
var validchar = /^[A-Z]([0-9]{3})+\-[0-9][A-Z][0-9]$/;