最近做项目时遇到个问题,校验正则,本来这都是小事,网上随便一搜就一大把的,但是对于一些特殊的手机号码无法校验,比如:131 3131 3131 或 151 5151 5151 或 18918181818 这样的校验就有问题了,最后请教俺滴一个老同事,终于...
正确的正则如下:
/(\d{2,5}-\d{7,8}$)|(^13\d{9}$)|(^15\d{9}$)|(^18\d{9}$)/
以下是easyui 的自定义验证规则:
$.extend($.fn.validatebox.defaults.rules, {
custom_reg : {
validator : function(value, param) {
var m_reg = new RegExp(param[0]); // 传递过来的正则字符串中的"\"必须是"\\"
if (m_reg.test(value)) {
$.fn.validatebox.defaults.rules.custom_reg.message = param[1];
value = value.replace(m_reg, '');
return false;
} else {
return true;
}
},
message : ''
},
telPhone : {
validator : function(value, param) {
var reg = /(\d{2,5}-\d{7,8}$)|(^13\d{9}$)|(^15\d{9}$)|(^18\d{9}$)/;
if (reg.test(value)) {
return true;
}
return false;
},
message : "请输入正确的电话号码."
}
});
正则中那个^很是重要的,记录!