js 正则$ 符用法请教

/^(([a-z]{1,2}\d{1,2})|([-]?\d+(\.\d+)?))(\s*,(([a-z]{1,2}\d{1,2})|([-]?\d+(\.\d+)?)))*$/i
a1,b1     false
最后不加 $ 
a1,b1     true,这上应该是true, 达到目的
a1,b1 abcd 这是 是true 就不是我想要的

我加$目的是 表示后面不能再用其它东西


但在这用错了.请释疑
后面不能再有其它东西怎么处理

不加$限制的话,由于前面的a1匹配,就不管后面是什么内容了,后面随便跟什么内容都会true。

如果确认不包含空格可以用负向前瞻


    var re = /^(([a-z]{1,2}\d{1,2})|(-?\d+(\.\d+)?))(,(([a-z]{1,2}\d{1,2})|(-?\d+(\.\d+)?))){1}(?!\s+)/i
    console.log(re.test('a1,b1'))//true
    console.log(re.test('a1,b1 abc'))//false
    console.log(re.test('a1,b1 '))//false

/^(([a-z]{1,2}\d{1,2})|([-]?\d+(.\d+)?))(\s*,(([a-z]{1,2}\d{1,2})|([-]?\d+(.\d+)?)))*$/i.test('a1,b1 abcd');//结果是false,不是true

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632