我在一些网站上找到了这个代码,它工作得很完美。它验证电话号码是以下格式之一: (123) 456-7890或123-456-7890
问题是我的客户端(我不知道为什么,可能是客户端)想要添加另一种格式,连续的十个数字,像这样:1234567890。
我用这个正则表达式,
/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/
我如何添加它也验证另一种格式?我不擅长使用正则表达式。
我在一些网站上找到了这个代码,它工作得很完美。它验证电话号码是以下格式之一: (123) 456-7890或123-456-7890
问题是我的客户端(我不知道为什么,可能是客户端)想要添加另一种格式,连续的十个数字,像这样:1234567890。
我用这个正则表达式,
/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/
我如何添加它也验证另一种格式?我不擅长使用正则表达式。
当前回答
我选择的正则表达式是:
/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im
有效的格式:
(123) 456-7890 (123)456-7890 The 123-456-7890 123.456.7890 1234567890 + 31636363634 075-63546725
其他回答
试试这个正则表达式
/[^0-9+() -.]/g
使用的例子:
<input type="tel" id="txtUserMobile" onkeyup="this.value=this.value.replace(/[^0-9+() -.]/g,'')">
享受
我选择的正则表达式是:
/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im
有效的格式:
(123) 456-7890 (123)456-7890 The 123-456-7890 123.456.7890 1234567890 + 31636363634 075-63546725
这个reg ex适用于国际电话号码和多种格式的移动手机号码。
下面是正则表达式: / ^ (+ {1} \ d {2,3} \ s ? [(] {1} \ d {1,3} [)] {1} \ s ? \ d + | + \ d {1} {2,3} \ s \ d + | \ d +) {1} [\ s | - ? \ d + ([\ s | - ? \ d +){1,2} /美元
下面是JavaScript函数
function isValidPhone(phoneNumber) {
var found = phoneNumber.search(/^(\+{1}\d{2,3}\s?[(]{1}\d{1,3}[)]{1}\s?\d+|\+\d{2,3}\s{1}\d+|\d+){1}[\s|-]?\d+([\s|-]?\d+){1,2}$/);
if(found > -1) {
return true;
}
else {
return false;
}
}
这将验证以下格式:
+44 07988-825 465(用任意连字符组合代替空格,但+44后面必须只有空格)
+44(0) 7988-825 465(用连字符的任何组合代替空格,但连字符不能直接存在于(0)之前或之后,(0)之前或之后的空格不需要存在)
123 456-789 0123(以任何连字符组合代替空格)
123-123 123(以任何连字符组合代替空格)
123 123456(空格可以用连字符代替)
1234567890
所有格式都不能存在双空格或双连字符。
这是可行的:
/^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/
的吗?字符表示前一组匹配0次或1次。组(-|\s)将匹配-或|字符。添加?在正则表达式中第二次出现此组后,允许您匹配10个连续数字的序列。
试试这个——它也包括国际格式的验证。
/^[+]?(1\-|1\s|1|\d{3}\-|\d{3}\s|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})(\-|\s)?(\d{4})$/g
这个正则表达式验证以下格式:
(541) 754-3010国内 + 1-541-754-3010国际 拨打美国电话1-541-754-3010 从德国拨001-541-754-3010 191 541 754 3010从法国拨过来