特定符号数的正则表达式

时间:2012-01-31 18:01:36

标签: javascript regex

如何构建允许“任何10”或“任何12”符号的正则表达式? 我尝试过这个,但是如果符号数> 10则不起作用。

  

(^ {10}。)|(^ {12} $)

3 个答案:

答案 0 :(得分:5)

我想说的是“十个字符,可选两个字符”:

/^.{10}(?:..)?$/

答案 1 :(得分:3)

你应该试试这个正则表达式:

/^.{10}(?:..)?$/

它锚定到字符串的开头,匹配任意10个字符,然后可选地匹配另外两个字符,然后锚定到字符串的末尾。

答案 2 :(得分:1)

如果我无法使用str.length(例如我需要将正则表达式传递给验证函数),我会使用:

/^[\d\D]{10}(?:[\d\D])?$/

为了也允许换行符,并希望我从来没有得到\r\n的字符串,这样我就不得不决定是否真的是一个字符而不是两个字符。