Javascript 正则表达式问题:自定义电话号码格式
我第一次使用正则表达式,我真的很惊讶!嗯,新发现总是让人惊讶:)。 我正在使用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
函数验证(表单){
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
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}$