我正在寻找javascript验证,该验证允许输入任意长度的四个数字,以逗号分隔。
例如:
12,111,3455556666,1
要么
40,01,9,19877666666
我在下面使用正则表达式:
/^\d(,\d){0,3}/
但是它不能按要求工作。
有人可以帮助我形成正确的正则表达式模式吗?
最佳答案
您可以使用
/^\d+(?:,\d*){0,3}$/
请参见regex demo。
细节
^
-字符串开始\d+
-1个以上的数字(?:,\d*){0,3}
-0至3次出现,
-逗号\d*
-0+个数字$
-字符串结尾。JS演示:
var strs = ["1222222", "1222222,1222222", "1222222,1222222,1222222,", "1222222,1222222,1222222,1222222", "1222222,1222222,1222222,1222222,1222222,1222222"];
var rx = /^\d+(?:,\d*){0,3}$/;
for (var s of strs) {
console.log(s, "=>", rx.test(s));
}