我用JS和php制作了一个网站,正如你在下面看到的那样是我在粘贴垃圾箱的代码,我环顾四周看过正则表达式,但我不知道如何使用它们或者我应该使用什么。 ...但基本上我只想让用户输入北美电话号码,如果他们输入任何其他内容,请给他们一条消息,输入有效的电话号码......
下面是我的代码,可以帮助您了解我的内容。我需要什么以及我的网站界面是什么样的......
用户可以输入的电话号码是9058554678 OR 4167641689 ...
这是列表的外观:
http://dev.icalapp.rogersdigitalmedia.com.rogers-test.com/Edit.php
答案 0 :(得分:1)
以下是正则表达式,我根据NANP
计算仅匹配10位数的NA数字/(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})/
答案 1 :(得分:0)
^\d{10}$
匹配10位数字。
^1?\d{10}$
匹配10位数字,前面有一个可选的1。
^(?:1-?\s*)?(?:\(?:\d{3}\)|\d{3})\s*-?\d{4}$
匹配1-444-555-6666
或(444) 555-6666
等数字分组以及一些相关分组。
答案 2 :(得分:0)
在谷歌上快速搜索产生以下结果。您可能希望将其与mitchellhislop的答案结合起来。
function isPhoneNumber(s)
{
// Check for correct phone number
rePhoneNumber = new RegExp(/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/);
if (!rePhoneNumber.test(s)) {
alert("Phone Number Must Be Entered As: (555) 555-1234");
return false;
}
return true;
}
答案 3 :(得分:0)
在使用它们之前,有必要阅读正则表达式,因为它们可能有点棘手且不直观。
好教程:http://www.regular-expressions.info/quickstart.html
根据您列出的有效输入,您需要查看用户是否输入了10位数字。这可以通过检查一个字符是否为数字,然后查看是否有10个字符来完成,这将是正则表达式:[0-9] {10}。如何使用示例:
var myRegEx = /[0-9]{10}/;
var itemsToTest = ["9058554678","abc"];
for (var ii=0;ii<itemsToTest.length;ii++) {
if ( myRegEx.test(itemsToTest[ii]) ) {
alert(itemsToTest[ii] + " is valid!");
}
}