如何编写正则表达式以匹配模式结尾处的一个数字?

我的字段应该是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]$/;
    

要回复问题请先登录注册