我在regex方面不是很有经验,我需要使用javascript验证电话号码。我有一个文本框,需要允许它接受带有';'分隔符的多个电话号码,并且可以允许这些电话号码的字符是
有人能帮助我如何使用javascript和regex/正则表达式来完成这个任务吗?
示例:
+91-9743574891;+1-570-456-2233;+66-12324576
我尝试了以下几点:
^[0-9-+;]+$我不确定这是否正确。
发布于 2012-11-21 13:38:39
您将-放置在错误的位置,所以您的regex无法工作。
试试这个(您的RegEx,但稍微修改一下):
^[0-9+;-]+$或
^[-0-9+;]+$若要在字符类中包含连字符,则必须执行以下操作之一:
\-__,转义连字符并使用 因为连字符用于指定字符的范围。因此,regex引擎理解[0-9-+;]+匹配0到9、9到+(所有具有十进制码57char 9到43char +的字符)和;之间的任何字符。
发布于 2012-11-21 13:39:51
这个^([0-9\-\+]{5,15};?)+$怎么样?
解释:
^ #Match the start of the line
[0-9\-\+] #Allow any digit or a +/- (escaped)
{5,15} #Length restriction of between 5 and 15 (change as needed)
;? #An optional semicolon
+ #Pattern can be repeat once or more
$ #Until the end of the line只有在指定的限制条件下才能更严格,请查看它是否工作http://rubular.com/r/we7t4wsxbb。
发布于 2012-11-21 13:40:46
为了更严格一些,您可以使用以下regexp:
/^\+[0-9]+(-[0-9]+)+(;\+[0-9]+(-[0-9]+)+)*$/与之相匹配的是:
+91-9743574891
+1-570-456-2233;+66-12324576与之不符的是:
91-9743574891
+15704562233
6612324576https://stackoverflow.com/questions/13494455
复制相似问题