我从用户获取的电话号码输入为+ XXX-X-XXX-XXXX(+ XXX为国家代码),(X为城市代码),(XXX为前3位数字)和(XXX作为第4位数字)。我使用正则表达式来确认条目,如下面的代码所示:从用户输入电话号码中提取子串使用Javascript
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插件,确实如此。虽然不记得名字,但尝试搜索。编辑:发现它:http://digitalbush.com/projects/masked-input-plugin/ – 2012-04-21 07:31:56
可能重复的[电话号码验证综合正则表达式](http://stackoverflow.com/questions/123559/a-comprehensive -regex-for-phone-number-validation)(如果你不觉得这种情况,你应该澄清你的意思,“我希望用户输入+ XXXXXXXXXXX(all together),然后onblur(),它根据正则表达式自己设置它的输入“;不幸的是我们无法理解语法。) – ninjagecko 2012-04-21 07:32:05
@ninjagecko:它不是这个问题的重复。请在查找重复之前阅读该问题。 – 2012-04-21 07:33:34