2013-03-19 83 views
0

我如何能写一个正则表达式找到一个电话号码检测一个串号 - JavaScript的正则表达式

这是一个数09876 09875

应该检测09876 09875的整数

这是一个数字17865 8658 u98765

这应该检测两个数17865 8658和98765

+0

我试图检测与空间的电话号码,+( - 在它的标志 – skcrpk 2013-03-19 13:31:28

+0

可能重复:http://stackoverflow.com/questions/123559/a-comprehensive-regex-for-电话号码验证 – 2013-03-19 13:33:56

+0

我仍然对新的正则表达式(因此不张贴这是一个答案),但可以这样做吗? '[0-9 \ + \ s] +' – 2013-03-19 13:34:45

回答

1

删除空格和匹配加上下面的数字签名:

var input = 'this is a number +17865 8658 u98765', 
    outputs = input.replace(/ /g, '').match(/\+?\d+/g); 

输出:

["+178658658", "98765"] 

没有更换空间:

var input = 'this is a number +17865 8658 u98765', 
    outputs = input.match(/\+?\d(*\d+)+/g); 

输出:

["+17865 8658", "98765"] 
+0

我不想删除空格保持他们,因为他们是如果数字是+16786 876 986它应该检测到它,但如果数字是+1234 u89 97它应该检测到两个数字+1234和89 97 – skcrpk 2013-03-19 13:34:02

+0

看看我的编辑。 – hsz 2013-03-19 13:34:44

+0

它应该检测到这个数字的整数+123 456 788不是三个单独的数字 – skcrpk 2013-03-19 14:21:40

1

使用正则表达式如下

/[+0-9]+(?:\.[0-9]*)?/g 

for working example click

+0

关闭,但它没有检测到+ 198-9876(76569)(876 8) – skcrpk 2013-03-19 13:50:52

+0

它应该检测到这个数字整数+123 456 788不是三个单独的数字 – skcrpk 2013-03-19 14:15:57