如何构建允许“任何10”或“任何12”符号的正则表达式? 我尝试过这个,但是如果符号数> 10则不起作用。
(^ {10}。)|(^ {12} $)
答案 0 :(得分:5)
我想说的是“十个字符,可选两个字符”:
/^.{10}(?:..)?$/
答案 1 :(得分:3)
你应该试试这个正则表达式:
/^.{10}(?:..)?$/
它锚定到字符串的开头,匹配任意10个字符,然后可选地匹配另外两个字符,然后锚定到字符串的末尾。
答案 2 :(得分:1)
如果我无法使用str.length
(例如我需要将正则表达式传递给验证函数),我会使用:
/^[\d\D]{10}(?:[\d\D])?$/
为了也允许换行符,并希望我从来没有得到\r\n
的字符串,这样我就不得不决定是否真的是一个字符而不是两个字符。