Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式问题:自定义电话号码格式_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式问题:自定义电话号码格式

Javascript 正则表达式问题:自定义电话号码格式,javascript,regex,Javascript,Regex,我第一次使用正则表达式,我真的很惊讶!嗯,新发现总是让人惊讶:)。 我正在使用JavaScript。我使用以下方式;(有许多字段,除此电话格式外,所有字段都工作正常) 函数验证(表单){ var phone=form.phone.value; var phoneRegex=/^(+12400)\d{2,3}-\d{1,2}-\d{3}-\d{4}$/g; //检查“phone”及其正则表达式 如果(电话==“”){ inlineMsg('phone','错误您必须输入电话号码',2); 返回fa

我第一次使用正则表达式,我真的很惊讶!嗯,新发现总是让人惊讶:)。 我正在使用JavaScript。我使用以下方式;(有许多字段,除此电话格式外,所有字段都工作正常)

函数验证(表单){
var phone=form.phone.value;
var phoneRegex=/^(+12400)\d{2,3}-\d{1,2}-\d{3}-\d{4}$/g;
//检查“phone”及其正则表达式
如果(电话==“”){
inlineMsg('phone','错误
您必须输入电话号码',2); 返回false; } 如果(!phone.match(deptRegex)){ inlineMsg('phone','错误
输入有效电话
+xxx-x-xxx-xxxx(或)
00xxx-x-xxx-xxxx',2); 返回false; } 返回true; }
HTML

<div id="wrapper">
  <form name="form" id="form" class="form" onsubmit="validate(this);return false">
<label for="phone">Phone:</label><input type="text" name="phone" id="phone" />
<input type="submit" value="Submit" class="submit" />
</div>

电话:
现在我很困惑,我可能写了错误的表达,但我也测试了它。我认为我用JavaScript编写表达式是错误的。有人能帮忙吗

p.S下面是我测试表达式的一张照片


我发现您的代码有两个问题:

  • 在最后一个
  • 您正在为正则表达式使用两个不同的变量名:
    phoneRegex
    deptRegex
一旦您纠正了这些问题,代码就会正常运行。看看它在JSFIDLE上的工作情况:

如果这不起作用,问题可能是您的
inlineMsg
函数。我不熟悉这个,所以请确保您正确使用它

  ^(\+|00)\d{2,3}-\d{1,2}-\d{3}-\d{4}$
这与+nn[n]-n[n]-nnn nnnn或0nn[n]-n[n]-nnn nnnn匹配

那是什么国家的


除了00拨号前缀外,您可能还希望包括从美国/加拿大使用的011拨号前缀。

您能更好地解释一下您的问题吗?到底是什么问题?您使用正则表达式的代码是什么?您的正则表达式有效:您的问题可能在其他地方。请不要包括图片,包括不起作用的代码!(作为文本,以便我们可以复制粘贴)请检查我的更新问题嘿,谢谢你,伙计。。。这工作,这是我愚蠢的代码重复使用错误。这两点你都是对的。我真的很感激。
  ^(\+|00)\d{2,3}-\d{1,2}-\d{3}-\d{4}$