我需要一个正则表达式来检查字符串的第一个字符是否是“+”,其余的是数字。例如:+919447733140
问问题
1996 次
5 回答
5
这会做你想做的/^\+\d+$/
你可以像这样使用它:
function isPlusNum(num) {
return /^\+\d+$/.test(num);
}
console.log(isPlusNum('+5555'); //returns true;
console.log(isPlusNum('-5555'); //returns false;
于 2012-09-07T06:42:37.280 回答
4
这是一个涵盖它的正则表达式:
/^\+\d+$/
于 2012-09-07T06:42:54.507 回答
0
正如其他人所说,一个普通的正则表达式就是/^\+\d+$/
这样做的。
但是,在你继续之前,我觉得有必要先讲道。
这是用于验证手机号码(连同国家代码,例如:+919447733140)
除非您明确告诉他们他们的电话号码只能使用这种格式,否则您可能会遇到验证问题。不仅如此,还有更大、更好的正则表达式用于匹配更多种类的电话号码(带有分机、标点符号、国际变体等)。即便如此,许多人仍然认为收集电话号码的最佳方式是根本不暗示任何正则表达式限制——让他们给你他们想要给你的东西。这是你的选择!//end rant. :)
于 2012-09-07T06:46:40.453 回答
0
所以,/^\+\d+$/
你有你的表达,但正如克里斯蒂安所说:人们确实倾向于用空格、破折号甚至点和逗号来输入数字。此外,像 00919447733140 这样的输入也是有效的。开头的双0等于+
符号。
如果我是你,我会转向以下方面:
pn = '00919-4477 33140';
pn.replace(/[^+0-9]/g,'').match(/^(0{2}|\+)\d+$/)[0];//<--00919447733140
于 2012-09-07T06:58:36.327 回答
0
您可以使用此正则表达式来帮助您验证印度手机号码
(\+91|0091)?[7-9][0-9]{9}
于 2012-09-07T07:05:28.290 回答