正则表达式,用于检查字符串的第一个字符是否为“+”,其余字符是数字

时间:2012-09-07 06:41:30

标签: javascript regex

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

5 个答案:

答案 0 :(得分:5)

这将完成你想要的/^\+\d+$/

你可以像这样使用它:

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

答案 1 :(得分:4)

这是一个涵盖它的正则表达式:

/^\+\d+$/

答案 2 :(得分:0)

正如其他人所说,/^\+\d+$/的普通正则表达式就是这样。

然而,在你继续之前,我觉得有必要暂时讲道。

  

这是用于验证手机号码(以及国家/地区代码,例如:   919447733140)

除非您明确告诉他们他们的电话号码只能使用该格式,否则您可能会遇到验证问题。不仅如此,还有更大,更好的正则表达式用于匹配更多种类的电话号码(包括分机,标点符号,国际变体等)。即便如此,许多人只是认为收集电话号码的最佳方式是不要暗示任何正则表达式限制 - 只是让他们给你他们想要给你的东西。这是你的选择! //end rant. :)

答案 3 :(得分:0)

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

如果我是你,我会转向这些方面:

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

答案 4 :(得分:0)

您可以使用此正则表达式来帮助您验证印度手机号码

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