我需要验证一个输入字段,该字段应包含用逗号分隔的块,最大为50个块,每个块必须为8个字符长,只能输入数字和字母。
示例:1F223142,23FH2324,3232UD23
我搜索了,但是找不到匹配的,所以我的正则表达式应该是什么?
答案 0 :(得分:0)
尝试这个。
/([A-Z0-9]{8},){0,49}([A-Z0-9]{8}){1}/g
这将查找(0个大写字母或8个大写字母或数字,最小0到最大49次)。然后它将一次查找(8个大写字母或数字后跟一个逗号)。
通过这种方式,用户可以输入一个单号NOT后面加上逗号,或者最多输入50个以逗号分隔的块,最后一个NOT后面加上一个逗号。
您将需要比较原始输入的长度和输入结果。例如:
let a = "1F223142,23FH2324,3232UD23";
let r = /([A-Z0-9]{8},){0,49}([A-Z0-9]{8}){1}/g.exec(a)[0].length;
if (a.length == r.length) {
//valid input
} else {
//invalid input
}