【发布时间】:2012-04-21 07:26:39
【问题描述】:
我收到用户输入的电话号码 +XXX-X-XXX-XXXX (+XXX 作为国家代码),(X 作为城市代码),(XXX 作为第 3 位数字)和,(XXX 作为第 2 位 4位数)。我使用正则表达式来确认输入,如下代码所示;
function validate(form) {
var phone = form.phone.value;
var phoneRegex = /^(\+|00)\d{2,3}-\d{1,2}-\d{3}-\d{4}$/g;
//Checking 'phone' and its regular expressions
if(phone == "") {
inlineMsg('phone','<strong>Error</strong><br />You must enter phone number.',2);
return false;
}
if(!phone.match(phoneRegex)) {
inlineMsg('phone','<strong>Error</strong><br />Enter valid phone <br />+xxx-x-xxx-xxxx (or) <br />00xxx-x-xxx-xxxx.',2);
return false;
}
return true;
}
它工作得很好,但问题是
编辑:如果用户输入为+XXXXXXXXXXX(全部一起)并按回车或转到另一个字段,则输入根据正则表达式自行设置,即+XXX-X-XXX- XXXX。
有人可以用一些例子指导我如何完成这项任务。 谢谢
【问题讨论】:
-
我依稀记得有一个 jQuery 插件就是这样做的。不记得名字了,试着搜索一下。编辑:找到它:digitalbush.com/projects/masked-input-plugin
-
A comprehensive regex for phone number validation 的可能重复项(如果您不认为是这种情况,您应该澄清“我希望用户输入为 +XXXXXXXXXXXX(全部一起)然后 onblur (),输入它根据正则表达式自行设置”;不幸的是,我们无法理解语法。)
-
@ninjagecko:这不是那个问题的重复。请在查找重复项之前阅读问题。
-
@Truth:这个问题难以理解。如果 OP 或有人很快澄清,我不希望投反对票或投票关闭,因为不清楚。如果您不同意并且可以理解该问题,请对其进行编辑以使其更清楚。
-
@Truth 这正是我所需要的,但不幸的是我是 JQuery 的新手。不知道具体怎么样。你有其他选择吗?
标签: javascript regex phone-number onblur