正则表达式验证长度为8,11,13的数字,后跟可选的+符号

时间:2018-02-16 15:27:18

标签: regex

我有以下正则表达式

^\+?[0-9]*$

我想验证一个长度为8,11,13的数字,后跟一个可选的+符号,但不知道如何在其中添加长度8,11,13。

如果包含+符号,则整个字符串的长度必须为8,11或13

2 个答案:

答案 0 :(得分:1)

你的正则表达式使用星号[0-9]匹配一个可选的加号和一个数字*重复零次或多次。正则表达式也可以匹配空字符串或+1

您可以使用{8}{11}{13}+

quantifier

匹配加号{12},后跟数字与{10}{8}{13}的量词。

或使用{11}{9} $scope.RedirectionUrl = function (urlConf) { document.location.href=urlConf; }

的量词匹配数字

答案 1 :(得分:0)

你可以使用双重条件:
^\+[0-9]{8}([0-9]{3}[0-9]{2}?)?$

说明:

^字符串的开头
\+已转义+符号
[0-9]{8}它将用于8位数,
([0-9]{3}然后又增加3个数字
[0-9]{2}然后又增加2位数字
?)这是可选的 ? 8位数之后的整个部分也是可选的 $字符串的结尾