手机号码验证方法(正则验证)

只允许输入数字

<xsl:attribute name="onkeyup">value=value.replace(/[^\d]/g,'')</xsl:attribute>
<xsl:attribute name="onbeforepaste">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</xsl:attribute>
//固定电话只要有一个填写即可
$('.form-inline').submit(function(){
    var m = $('input[name=mobile]').val();
    var p = $('input[name=phone]').val();
    var reg = /^1\d{10}$/;
    if((m == "" || !reg.test(m)) && p == ""){
      $('input[name=mobile]').addClass('error_color');
      $('input[name=mobile]').tooltip('show');
      return false;
    }else{
      $('input[name=mobile]').removeClass('error_color');
      $('input[name=mobile]').tooltip('hide');
      return true;
    }
  })

下面看下最新手机号码验证正则表达式

由于手机号段的不断更新,以前的正则表达式已经无法满足需求。重新编写这条表达式,号段资料来源依据:http://www.jihaoba.com/tools/haoduan/

现有手机号段:

移动:139   138   137   136   135   134   147   150   151   152   157   158    159   178  182   183   184   187   188 
联通:130   131   132   155   156   185   186   145   176 
电信:133   153   177   173   180   181   189

虚拟运营商:

170  171

整理后:

130~139  145,147 15[012356789] 178,176,177,173,170,171 180~189

var regex = {
  mobile: /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
}

js:

var bool = checkRegexp(jq("#mobile"), /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/, "电话格式不对");

表达式分析:

“/”代表一个正则表达式。

“^”代表字符串的开始位置,“$”代表字符串的结束位置。

“?”代表匹配前面的字符一个或零个,所以这里0?的意思是手机号码可以以0开头或不以0开头。

接下的部分验证11位的手机号码,先从13开始,因为从130-139都有所以可选区间是[0-9],15开头的号码没有154所以[]里面没有4这个数字,当然也可以写成[0-35-9],下面18和14开的号码同上。

小括号括起来的代表一个子表达式,里面是4个可选分支分别用“|”来区分开来,在正则中“|”的优先级是最低的,这里每个分支匹配的都是3个字符(一个[]只能匹配一个字符,里面是可选的意思),也就是手机号码的前3位数字,那么后面还有8位数字需要匹配,可以是0-9的任意字符,所以是“[0-9]{8}”,{}中的数字代表匹配前面字符的个数。

分析完毕。

如果有大头鬼在前面写上86,17951之类的呢?

/^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/

C#版:

using System.Text.RegularExpressions;
    public static bool IsTelephone(string str_telephone)
    {
      return Regex.IsMatch(str_telephone, @"^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$");
    }

以上所述是小编给大家介绍的手机号码验证方法(正则验证),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • js验证输入是否为手机号码或电话号码示例

    代码如下: 复制代码 代码如下: <script type="text/javascript"> String.prototype.Trim = function() { var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/); return (m == null) ? "" : m[1]; } String.prototype.isMobile = function() { return (/^(?:13\d|15[8

  • php验证手机号码(支持归属地查询及编码为UTF8)

    复制代码 代码如下: <?php // 手机号验证 function checkMobileValidity($mobilephone){ $exp = "/^13[0-9]{1}[0-9]{8}$|15[012356789]{1}[0-9]{8}$|18[012356789]{1}[0-9]{8}$|14[57]{1}[0-9]$/"; if(preg_match($exp,$mobilephone)){ return true; }else{ return false; }

  • jquery验证手机号码、邮箱格式是否正确示例代码

    复制代码 代码如下: //jquery验证邮箱 function checkSubmitEmail() { if ($("#email").val() == "") { //$("#confirmMsg").html("<font color='red'>邮箱地址不能为空!</font>"); alert("邮箱不能为空!") $("#email").focus(

  • 验证手机号码的JS方法分享

    第一个: 复制代码 代码如下: function Checkreg() { //验证电话号码手机号码,包含153,159号段 if (document.form.phone.value=="" && document.form.UserMobile.value==""){ alert("电话号码和手机号码至少选填一个阿!"); document.form.phone.focus(); return false; } if (doc

  • javascript IP、域名、手机号码正则表达式验证代码

    这个手机号码正则验证函数可以说是最新的都支持的,里面有详细的介绍说明,不论以后增加什么号段大家都非常容易的稍微修改一下即可.javascript 手机号码正则表达式验证函数 复制代码 代码如下: //ip与域名验证函数 function checkIP() {     var ipArray,ip,j;     ip = document.ipform.ip.value; if(/[A-Za-z_-]/.test(ip)){         if (ip.indexOf(" ")>

  • js 手机号码合法性验证代码集合

    第一个代码: 复制代码 代码如下: function Checkreg() { //验证电话号码手机号码,包含153,159号段 if (document.form.phone.value=="" && document.form.UserMobile.value==""){ alert("电话号码和手机号码至少选填一个阿!"); document.form.phone.focus(); return false; } if (d

  • javascript 手机号码验证是否正确

    function aa(obj) { if(obj.length!=11) alert("这个手机号不存在!"); else if(obj.substring(0,2)!="13") alert("这个手机号不存在!"); else if(isNaN(obj)) alert("这个手机号不存在!"); else alert("这是个正确的手机号!"); } 请输入手机号码: [Ctrl+A 全选 注:如需引

  • javascript 手机号码正则表达式验证函数 原创

    复制代码 代码如下: function checkMobile(){     var sMobile = document.mobileform.mobile.value     if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){         alert("不是完整的11位手机号或者正确的手机号前七位");         document.mobileform.mobile.focus();         return false;

  • php 手机号码验证正则表达式

    比较简洁的代码一: $str = ''; $isMatched = preg_match('/^0?(13|14|15|17|18)[0-9]{9}$/', $str, $matches); var_dump($isMatched, $matches); 代码二 <?php //正则表达式 $tel = "15558530459"; //作者的手机号码,如果有疑问可以电话联系我,或者QQ联系我,我的QQ是mezongzi@qq.com if (strlen($tel) == &q

  • 手机号码验证方法(正则验证)

    只允许输入数字 <xsl:attribute name="onkeyup">value=value.replace(/[^\d]/g,'')</xsl:attribute> <xsl:attribute name="onbeforepaste">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</xsl:attri

  • 手机号码,密码正则验证

    /**      * 手机号码      * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188      * 联通:130,131,132,152,155,156,185,186      * 电信:133,1349,153,180,189      */     NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";     /**     

  • Python实现随机生成手机号及正则验证手机号的方法

    本文实例讲述了Python实现随机生成手机号及正则验证手机号的方法.分享给大家供大家参考,具体如下: 依据 根据2017年10月份最新的手机号正则进行编码, 正则如下: (13\d|14[579]|15[^4\D]|17[^49\D]|18\d)\d{8} 代码 # -*- coding: utf-8 -*- import random def create_phone(): # 第二位数字 second = [3, 4, 5, 7, 8][random.randint(0, 4)] # 第三位

  • PHP实现的常规正则验证helper公共类完整实例

    本文实例讲述了PHP实现的常规正则验证helper公共类.分享给大家供大家参考,具体如下: 主要代码功能: 弥补平时项目对于验证功能这块的不严谨.具体细分的常规验证, 手机号/电话/小灵通验证, 字符串长度区间合法验证, 邮箱验证, 使用正则验证数据. /** * * * 常规验证helper公共类 * * */ class CheckForm { //手机号/电话/小灵通 验证 public function Mobile_check($mobile,$type = array()) { /*

  • 微信小程序身份证验证方法实现详解

    身份证验证在很多小程序中已经成为必不可少的一部分,它能有效的判断出身份证是否存在,是否输入错误,以防不良人士恶意攻击. 判断一个身份证是否合法的身份证号码有以下几个步骤需要验证 ①:身份证18位数 ②:前17位全是数字 ③:验证最后一位 1.前面的身份证号码17位数分别乘以不同的系数    从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2. 2.将这17位数字和系数相乘的结果相加. 3.用加出来和模以11,看余数是多少? 4.余数只可能有0-

  • js与jquery正则验证电子邮箱、手机号、邮政编码的方法

    本文实例讲述了js与jquery正则验证电子邮箱.手机号.邮政编码的方法. jQuery代码: //验证邮政编码 $("#postcode").blur(function(){ //获取邮政编码 var postcode=$("#postcode").val(); if(is_postcode(postcode)){ $("#postcode_info").html(""); }else{ $("#postcode_

  • 正则验证不能含有中文的实现方法【jQuery与java实现】

    本文实例讲述了正则验证不能含有中文的实现方法.分享给大家供大家参考,具体如下: jQuery利用正则验证不能含有中文 var myReg = /^[a-zA-Z0-9_]{0,}$/; if (!myReg.test(input.val())) { $.validation.tip(false, input, "用户名不能含有中文或特殊字符"); return; } Java验证字符串没有中文 if (nickname.getBytes().length != nickname.len

  • PHP正则验证Email的方法

    本文实例讲述了PHP正则验证Email的方法.分享给大家供大家参考.具体如下: <?php function validateEmail($email) { $isValid = true; $atIndex = strrpos($email, "@"); if (is_bool($atIndex) && !$atIndex) { $isValid = false; } else { $domain = substr($email, $atIndex+1); $l

  • Java正则验证电话,手机,邮箱,日期,金额的方法示例

    本文实例讲述了Java正则验证电话,手机,邮箱,日期,金额的方法.分享给大家供大家参考,具体如下: package com.hooypay.tool; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Check { // 判断电话 public static boolean isTelephone(String phonenumber)

  • jQuery使用正则验证15/18身份证的方法示例

    本文实例讲述了jQuery使用正则验证15/18身份证的方法.分享给大家供大家参考,具体如下: 最好的jQuery正则验证身份证代码: 按照身份证的算法定制而成,精确度完美支持15和18位. 错一个数字或字母都通不过,无需通过数据处理来验证 //身份证检验 var vcity={ 11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古", 21:"辽宁",22:&

随机推荐