验证美国电话号码格式
validate american format of phone number
我想验证电话和传真号码字段。我想验证一下,因为电话号码和传真都是美国格式的。我已经找过了,但没有成功。任何人都可以帮助我如何验证以下格式
Edit
1 (415) xxx xxxx
最好的方法是删除所有非数字,然后自己将其格式化为您喜欢的格式。
var raw_number = str.replace(/[^0-9]/g,'');
var regex1 = /^1?([2-9]..)([2-9]..)(....)$/;
if(!regex1.test(raw_number)) {
// is invalid...
} else {
var formatted_number = str.replace(regex1,'1 ($1) $2 $3')
}
这样,如果他们输入234/555-0123
,它将成为您首选的1 (234) 555 0123
格式。
使用正则表达式是好的,我想,如果你有意识地限制你的功能,以美国形式的电话号码。
但是,一旦您的代码必须处理国际性,该方法就不再是最合适的选择。如果您有这样的计划,并且您正在使用JavaScript,我建议您查看一下Google的libphonenumber.
下面的Javascript REGEX验证123-456-7890或123.456.7890或1234567890或1234567890或(123)456-7890
^[(]{0,1}[0-9]{3}[)]{0,1}[-'s'.]{0,1}[0-9]{3}[-'s'.]{0,1}[0-9]{4}$
这里是一个我使用(jQuery)的字段验证onBlur:
http://jsfiddle.net/userdude/Ju72W/jQuery(document).ready(function($){
$cf = $('#customfield_10117');
$cf.blur(function(e){
phone = $(this).val();
phone = phone.replace(/[^0-9]/g,'');
if (phone.length != 10) {
e.preventDefault();
if (confirm('Phone number must include area code and prefix.')) {
setTimeout(function(){$cf.focus()}, 0);
}
} else {
area = phone.substring(0,3);
prefix = phone.substring(3,6);
line = phone.substring(6);
$(this).val('(' + area + ') ' + prefix + '-' + line);
}
});
});
检查是否有10个数字提交,如果是,重新格式化为(000)000-0000格式。
编辑
使用相同技术(添加了国家代码限定符)的函数。
http://jsfiddle.net/userdude/Ju72W/1/jQuery(document).ready(function($){
$cf = $('#customfield_10117');
$cf.blur(function(e){
number = phoneCheckAndFormat(this.value, 11);
if (number === false) {
alert('Entered phone number is not correct.');
return;
}
$(this).val(number);
});
});
function phoneCheckAndFormat(phone, digits) {
phone = phone.replace(/[^0-9]/g,'');
digits = (digits > 0 ? digits : 10);
if (phone.length != digits) {
return false;
} else {
code = '';
if (digits == 11) {
code = '1 ';
phone = phone.substring(1);
}
area = phone.substring(0,3);
prefix = phone.substring(3,6);
line = phone.substring(6);
return code + '(' + area + ') ' + prefix + '-' + line;
}
}
PhoneFormat.com有一个javascript库,使格式化和验证数字非常容易。
相关文章:
- HTML文本框,它接受电话号码,并以美国电话号码格式显示
- 输入中的国际电话号码格式
- 如何通过Phonegap使用iOS格式查找联系人的电话号码
- 电话号码格式javascript
- 如何验证此格式的电话号码
- 如何在javascript或jquery中进行电话号码格式检查
- 根据国家/地区代码设置电话号码的格式
- 在 JavaScript/Lodash 中将字符串格式化为电话号码
- 用于验证美国电话号码格式的正则表达式
- 如何更改电话号码的格式
- 在MS Ajax中将数字格式化为电话号码
- 如何在语言js中设置电话号码的格式
- 如何在Dynamics CRM中设置10位数字的电话号码格式
- 电话号码格式验证
- 如何在javascript:中更改电话号码字符串格式
- 将电话号码格式化为10位数字/删除多余字符
- html5模式PAK电话号码格式
- 屏蔽带有可选字母前缀的电话号码格式的输入
- Javascript格式的10或11位数字的电话号码和识别1800电话号码
- 如何在键盘上替换美国电话号码格式并限制长度