我在一些网站上找到了这个代码,它工作得很完美。它验证电话号码是以下格式之一: (123) 456-7890或123-456-7890

问题是我的客户端(我不知道为什么,可能是客户端)想要添加另一种格式,连续的十个数字,像这样:1234567890。

我用这个正则表达式,

/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/

我如何添加它也验证另一种格式?我不擅长使用正则表达式。


当前回答


正则表达式

使用以下Regex模式:

/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im

这样的:<输入模式 ="/^[\+]?[(]?[ 0 - 9] {3} [)] ? [\ s \。]? [0 - 9]{3}[\ s \。]吗?[0 - 9] {4 6} $ / im”> *


有效的格式:

(123) 456-7890, (123) 456-7890, 123-456-7890, 123.456 7890。, 1234567890, + 31636363634前 075-63546725


其他回答

其中str可以是以下格式中的任何一种: 555-555-5555 (555) 555 - 5555 (555) 555 - 5555 555 555 5555 5555555555 1 555 555 5555

函数电话检查(str) { var isphone = /^(1\s|1|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})(\-|\s)?(\d{4})$/.test(str); 警报(电话); } 电话检查(“1 555 555 5555”);

我要做的是忽略格式并验证数字内容:

var originalPhoneNumber = "415-555-1212";

function isValid(p) {
  var phoneRe = /^[2-9]\d{2}[2-9]\d{2}\d{4}$/;
  var digits = p.replace(/\D/g, "");
  return phoneRe.test(digits);
}

试试这个

/^[\+]?\d{2,}?[(]?\d{2,}[)]?[-\s\.]?\d{2,}?[-\s\.]?\d{2,}[-\s\.]?\d{0,9}$/im

有效的格式:

(123) 456-7890 (123)456-7890 The 123-456-7890 123.456.7890 1234567890 + 31636363634 +3(123) 123-12-12 + 3 (123) 123-12-12 + 3 (123)1231212 +3(123) 12312123 075-63546725

试试这个js函数。 如果匹配则返回true,如果失败则返回false 裁判

函数ValidatePhoneNumber(电话){ 返回/ ^ \ + ?([0 - 9]{2})\)?(-。] ?([0 - 9]{4})[-。] ?([0 - 9]{4})美元/ test(电话); }

简单的正则表达式:/ \ b \ d {3} [-] ? \ d{3}[-]吗?\ d {4} \ b / g

看看这个格式,希望它有用: 444-555-1234 f: 246.555.8888 m: 1235554567