我正在使用以下内容作为我在结帐表单中对字段进行验证的一部分。
^[a-zA-Z0-9)(,'-/\\&.#? ]*$
我们遇到了一些客户错误地在这些字段中添加cc号码的问题,我们希望排除连续12个以上的任何数字字符串以希望缓解这个问题。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以使用否定lookahead断言一行中没有12位或更多位数:
^(?!.*[0-9]{12,})[a-zA-Z0-9)(,'-/\&.#? ]*$
b1
表示:
@import url('https://fonts.googleapis.com/css?family=Roboto');
font-family: 'Roboto', sans-serif;
开始否定前瞻
(?!.*[0-9]{12,})
匹配任何字符零次或多次(?!
匹配一个数字12次或以上(如果您想匹配12位数字,可以使用.*
[0-9]{12,}
关闭否定前瞻答案 1 :(得分:0)
这将匹配不包含12个字符的字符串:
^(?!.*\b[a-zA-Z0-9)(,'\-\/\\&.#? ]{12}\b.*).*$
Sample online regex.注意我使用了问题中提供的括号表达式但转义了短划线-
并斜线/
。还要使用量词{12}
。