正则表达式:如何检查字符串是否包含用逗号分隔的块

时间:2018-12-29 06:55:32

标签: regex

我需要验证一个输入字段,该字段应包含用逗号分隔的块,最大为50个块,每个块必须为8个字符长,只能输入数字和字母。

示例:1F223142,23FH2324,3232UD23

我搜索了,但是找不到匹配的,所以我的正则表达式应该是什么?

1 个答案:

答案 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
}