JavaScript中的电话/传真正则表达式

时间:2014-06-01 12:46:36

标签: javascript regex

我是正则表达式的初学者。

我需要一个满足以下标准的正则表达式。我尝试了很多东西,但无法做到。

  1. 总数没有。数字可以是10,11或12
  2. 表达式除-(),空格,/\
  3. 等字符外
  4. 表达式可以从上面提到的任何数字/字符开始
  5. 表达式的最大长度为16。
  6. 所有数字和字符都可以在表达式
  7. 中以随机顺序出现

    有人可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

这种模式似乎按要求工作^(?=(?:\D*\d){10,12}\D*$)[0-9 \-()\\\/]{1,16}$
Demo

答案 1 :(得分:0)

表达式[ 0-9()\-/\\]{10,16}满足您的所有要求。

[...]是一个正面的字符类定义。匹配的字符可以是方括号中的一个字符。

方括号中的第一个字符是空格字符。

0-9定义所有数字(从字符0到字符9)。 \d也可以用于任何数字。

()也是有效字符。

字符-在方括号中具有特殊含义,如0-9所示,因此当它应被解释为文字字符时,必须使用反斜杠字符在方括号中转义。

斜线是下一个字符。请注意,在JavaScript RegExp对象中使用此正则表达式时,必须使用反斜杠转义斜杠。

带方括号的最后一个字符是反斜杠字符,必须始终使用一个反斜杠进行转义,因为如果反斜杠应该被解释为文字字符,它就是转义字符。

{10,16} ...表示前面的表达式必须在字符串上正应用至少10个但不超过16个字符。

但你应该真正搜索与WWW中的电话号码匹配的表达,因为这是一个非常需要的表达方式。你不应该分别重新发明轮子表达式。

答案 2 :(得分:0)

我建议您使用http://regexlib.com来满足您的RegEx需求。非常好的网站,有大量的RegEx,你可以浏览。我还建议使用http://regex101.com来测试正则表达式。有一个非常棒的工具可以帮助你构建/修改/测试你的表达。