2012-09-07 30 views
0

我需要一个正则表达式来检查字符串的第一个字符是'+'而其余的是数字。如:919447733140正则表达式来检查字符串的第一个字符是'+',其余的是数字

+2

一个快速谷歌搜索本可以得到你的答案。 –

+0

我们希望您尝试自己解决这个问题,而不是要求社区为您解决完整的解决方案。当你有一些代码向我们展示,证明你有一些努力(即使它是错误的),请更新你的问题和标志重新打开。谢谢。 – Kev

回答

5

这会做你想要/^\+\d+$/

您可以使用它像这样的内容:

function isPlusNum(num) { 
    return /^\+\d+$/.test(num); 
} 
console.log(isPlusNum('+5555'); //returns true; 
console.log(isPlusNum('-5555'); //returns false; 
4

这里是覆盖它的正则表达式:

/^\+\d+$/ 
0

为其他人说,/^\+\d+$/明确的正则表达式。然而,在你继续之前,我感到不得不鼓励一会儿。

这是用来验证手机号码(含国家代码一起,例如: 919447733140)

除非你告诉他们具体,他们只能为他们的电话号码是格式,可能会遇到验证问题。不仅如此,还有更大,更好的正则表达式用于匹配更大范围的电话号码(包括分机,标点符号,国际变体等)。即便如此,许多人只是简单地相信收集电话号码的最佳方式并不意味着任何正则表达式的限制 - 只要让他们给你想要给你的东西。这是你的选择! //end rant. :)

0

因此,有/^\+\d+$/你有你的表达,但正如克里斯蒂安所说:人们倾向于用空格,破折号,甚至点和逗号。此外,像00919447733140这样的输入也是有效的。开头的double 0等于+符号。

如果我是你,我会转的东西沿着这些线路:

pn = '00919-4477 33140'; 
pn.replace(/[^+0-9]/g,'').match(/^(0{2}|\+)\d+$/)[0];//<--00919447733140 
0

你可以使用这个表达式,这将有助于您验证印度的手机号码

(\+91|0091)?[7-9][0-9]{9} 
相关问题