最近做项目时遇到个问题,校验正则,本来这都是小事,网上随便一搜就一大把的,但是对于一些特殊的手机号码无法校验,比如: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) {
- <strong><span style="color:#ff0000;">var reg = /(\d{2,5}-\d{7,8}$)|(^13\d{9}$)|(^15\d{9}$)|(^18\d{9}$)/;</span></strong>
- if (reg.test(value)) {
- return true;
- }
- return false;
- },
- message : "请输入正确的电话号码."
- }
- });
正则中那个^很是重要的,记录!