您的位置:首页 > Web前端 > JQuery

关于电话号码的分割(包括显示与输入两方面)

2014-04-11 11:17 537 查看
--------------------------------- 题记

最近完善的的,挺好用的,话不多说,直接上代码。

--------------------------------- 代码

var tinyUtil = {
/*
* 电话号码验证分割(输入)
* 注:传参时注意使用 --> newMobile : $("#newMobile").val().replace(/-/g, ''), 去除分割符号
*/
phoneNumSegmentInput : function(target) {
var validate = function(obj, phoneNum) {
//手机分割
var checkPhoneNum = /^1[3|4|5|8][0-9]\d{1}$/;
if (checkPhoneNum.test(phoneNum)) {
$(obj).val(phoneNum.substring(0, 3) + "-" +phoneNum.substring(3, phoneNum.length));
return ;
}
checkPhoneNum = /^1[3|4|5|8][0-9]-\d{5}$/;
if (checkPhoneNum.test(phoneNum)) {
$(obj).val(phoneNum.substring(0, 8) + "-" + phoneNum.substring(8, phoneNum.length));
return ;
}
checkPhoneNum = /^1[3|4|5|8][0-9]-\d{4}-\d{5}$/;
if (checkPhoneNum.test(phoneNum)) {
$(obj).val(phoneNum.replace(/-/g, ''));
return ;
}
//手机撤回
checkPhoneNum = /^1[3|4|5|8][0-9]\d{8}$/;
if (checkPhoneNum.test(phoneNum)) {
$(obj).val(phoneNum.substring(0, 3)
+ "-" + phoneNum.substring(3, 7)
+ "-" + phoneNum.substring(7, phoneNum.length));
return ;
}
if ((phoneNum.length == 4 ||phoneNum.length == 9)
&& phoneNum.substring(phoneNum.length - 1, phoneNum.length) == '-') {
$(obj).val(phoneNum.substring(0, phoneNum.length - 1));
return ;
}
//座机分割
checkPhoneNum = /^0[1|2]\d{2}$/;
if (checkPhoneNum.test(phoneNum) && phoneNum.length == 4) {
$(obj).val(phoneNum.substring(0, 3) + "-" +phoneNum.substring(3, phoneNum.length));
return ;
}
checkPhoneNum = /^0[1|2]\d-\d{9}$/;
if (checkPhoneNum.test(phoneNum) && phoneNum.length == 13) {
$(obj).val(phoneNum.replace(/-/g, ''));
return ;
}
checkPhoneNum = /^0[3|4|5|6|7|8|9]\d{3}$/;
if (checkPhoneNum.test(phoneNum) && phoneNum.length == 5) {
$(obj).val(phoneNum.substring(0, 4) + "-" +phoneNum.substring(4, phoneNum.length));
return ;
}
checkPhoneNum = /^0[3|4|5|6|7|8|9]\d{2}-\d{9}$/;
if (checkPhoneNum.test(phoneNum) && phoneNum.length == 14) {
$(obj).val(phoneNum.replace(/-/g, ''));
}
//座机撤回
checkPhoneNum = /^0[1|2]\d{9}$/;
if (checkPhoneNum.test(phoneNum)) {
$(obj).val(phoneNum.substring(0, 3)
+ "-"
+ phoneNum.substring(3, phoneNum.length));
}
checkPhoneNum = /^0[3|4|5|6|7|8|9]\d{10}$/;
if (checkPhoneNum.test(phoneNum)) {
$(obj).val(phoneNum.substring(0, 4)
+ "-"
+ phoneNum.substring(4, phoneNum.length));
}
if (phoneNum.substring(phoneNum.length -1, phoneNum.length) == '-') {
if (phoneNum.length == 4) {
$(obj).val(phoneNum.substring(0, 3));
}
if (phoneNum.length == 5) {
$(obj).val(phoneNum.substring(0, 4));
}
}
};
//正常按键处理
$(target).keyup(function() {
var phoneNum = $(this).val();
//数字和长度验证
if (!/^[\d|-]*$/.test(phoneNum) || phoneNum.length > 15) {
$(this).val(phoneNum.substring(0, phoneNum.length - 1));
}
//拆分
validate(this, phoneNum);
});
//持续按下不放处理
$(target).keypress(function() {
var phoneNum = $(this).val();
//拆分
validate(this, phoneNum);
});
},
/*
* 电话号码分割(显示)for single target
*/
phoneNumSegmentShowSingleton : function(target) {
var phoneNum = $(target).text();
//手机分割
var checkPhoneNum = /^1[3|4|5|8]\d{9}$/;
if (checkPhoneNum.test(phoneNum)) {
$(target).text(phoneNum.substring(0, 3)
+ "-" + phoneNum.substring(3, 7)
+ "-" + phoneNum.substring(7, phoneNum.length));
return ;
}
//座机分割
checkPhoneNum = /^0[1|2]\d{9}$/;
if (checkPhoneNum.test(phoneNum)) {
$(target).text(phoneNum.substring(0, 3)
+ "-"
+ phoneNum.substring(3, phoneNum.length));
}
checkPhoneNum = /^0[3|4|5|6|7|8|9]\d{10}$/;
if (checkPhoneNum.test(phoneNum)) {
$(target).text(phoneNum.substring(0, 4)
+ "-"
+ phoneNum.substring(4, phoneNum.length));
}
},
/*
* 电话号码分割(显示) for table
* tdNum:电话号码在某tr中的第tdNum个位置的td
*/
phoneNumSegmentShowTable : function(target, tdNum) {
$(target).find("tr").each(function(index) {
if (index != 0) {
$(this).find("td").each(function(i) {
var phoneNum = $(this).text();
var tdObj = this;
$(tdNum).each(function(index) {
if (i == $(tdNum).get(index)) {
//手机分割
var checkPhoneNum = /^1[3|4|5|8]\d{9}$/;
if (checkPhoneNum.test(phoneNum)) {
$(tdObj).text(phoneNum.substring(0, 3)
+ "-" + phoneNum.substring(3, 7)
+ "-" + phoneNum.substring(7, phoneNum.length));
return ;
}
//座机分割
checkPhoneNum = /^0[1|2]\d{8,9}$/;
if (checkPhoneNum.test(phoneNum)) {
$(tdObj).text(phoneNum.substring(0, 3)
+ "-"
+ phoneNum.substring(3, phoneNum.length));
return ;
}
checkPhoneNum = /^0[3|4|5|6|7|8|9]\d{9,10}$/;
if (checkPhoneNum.test(phoneNum)) {
$(tdObj).text(phoneNum.substring(0, 4)
+ "-"
+ phoneNum.substring(4, phoneNum.length));
return ;
}
}
});
});
}
});
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐