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;
}
}

下面是脚本之家编辑对上面正则表达式的简单分析,随着以后手机号码段的增加,大家可以自己扩展功能,不懂正则的朋友看完这篇文章应该会了点啊。 
主要是这段代码了,以后大家修改这段就可以了。 
^1[3|4|5|8][0-9]\d{4,8}$ 
^1代表以1开头,现在中国的手机号没有是其它开头的,以后不一定啊 
[3|4|5|8] 紧跟上面的1后面,可以是3或4或5或8的一个数字,如果以后出现190开始的手机号码了,就需要如下[3|4|5|8|9] 
[0-9]表示0-9中间的任何数字,可以是0或9 
\d{4,8} 这个\d跟[0-9]意思一样,都是0-9中间的数字。{4,8}表示匹配前面的最低4位数字最高8位数字。这里为什么不是直接的8呢,因为手机号码归属地查询的时候,根据前7位就可以知道具体的地址了,后面的4位没有影响的。

关于js手机号码验证再为大家推荐几个小例子:
例子1:
手机号验证

String.prototype.isTel = function()
{
//"兼容格式: 国家代码jb51.net(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
//return (/^(([0+]d{2,3}-)?(0d{2,3})-)?(d{7,8})(-(d{3,}))?$/.test(this.Trim()));
return (/^(([0+]d{2,3}-)?(0d{2,3})-)(d{7,8})(-(d{3,}))?$/.test(this.Trim()));
}
//验证手机号
String.prototype.isMobile = function() {
return (/^(?:13d|15[89])-?d{5}(d{3}|*{3})$/.test(this.Trim())); }

电话号验证

function CheckNum(){//电话验证
var InputValue=document.gsjbxxBean.dh.value;
var reg=/^([0-9]|[-])+$/g ;
var isValid
isValid=reg.exec(InputValue)
if (!isValid) {
return false
}
return true
}

例子2:
验证手机号码
验证规则:11位数字,以1开头。

function
checkMobile(str) {
var
re = /^1\d{10}$/
if (re.test(str)) {
alert("正确");
} else {
alert("错误");
}
}
checkMobile('13800138000'); //调用
checkMobile('139888888889');//错误示例

验证电话号码
验证规则:区号+号码,区号以0开头,3位或4位
号码由7位或8位数字组成
区号与号码之间可以无连接符,也可以“-”连接
如01088888888,010-88888888,0955-7777777

function
checkPhone(str){
var
re = /^0\d{2,3}-?\d{7,8}$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
checkPhone("09557777777");//调用

补充:
正则表达式--验证手机号码:13[0-9]{9} 
实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$ 
电话号码与手机号码同时验证:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})  
提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)?   
提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*   
提取信息中的图片链接:(s|S)(r|R)(c|C)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)? 
提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)     
提取信息中的中国手机号码:(86)*0*13\d{9}     
提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}     
提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}     
提取信息中的中国邮政编码:[1-9]{1}(\d+){5}     
提取信息中的中国身份证号码:\d{18}|\d{15}     
提取信息中的整数:\d+     
提取信息中的浮点数(即小数):(-?\d*)\.?\d+     
提取信息中的任何数字  :(-?\d*)(\.\d+)?   
提取信息中的中文字符串:[\u4e00-\u9fa5]*     
提取信息中的双字节字符串  (汉字):[^\x00-\xff]*

想系统学习的朋友可以继续阅读:正则表达式30分钟入门教程,进一步加深对正则表达式的认识。

代码来源:脚本之家      http://www.jb51.net/article/96201.htm

js手机号码正则表达式的更多相关文章

  1. js 手机号码正则表达式

    var chenkPhone=/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/var username=$ ...

  2. js常用正则表达式2

    字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...

  3. Js用正则表达式验证字符串

    js 常用正则表达式表单验证代码 作者: 字体:[增加 减小] 类型:转载 js 常用正则表达式表单验证代码,以后大家就可以直接使用了. 正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模 ...

  4. AngularJS进阶(十三)JS利用正则表达式校验手机号

    JS利用正则表达式校验手机号 注:请点击此处进行充电! 绪 由于项目需求,需要在前端实现手机号码的校验.当然了,对于基本的格式校验应该放在客户端进行,而不需要再将待校验的手机号发送至服务端,在服务端完 ...

  5. JS 之正则表达式

    字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...

  6. js之正则表达式(上)

    1.正则表达式的创建方式 两种方式创建:通过new修饰符创建和字面量的方式创建 1>new修饰符方式创建 var b2=new RegExp('Box','ig'); //第二个参数是 模式字符 ...

  7. JS常用正则表达式备忘录

    摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...

  8. JS的正则表达式及回文

    function palindrome(str) { str = str.replace(/\s/g,"").replace(/[^a-zA-Z0-9]/g,"" ...

  9. JS的正则表达式简介

    1.JS的正则表达式 1.1 简介 JS的正则表达式比较简单,总体上只分为两个功能:一个是test——用于匹配字符串是否符合规定的正则表达式规则:另外一个是exec——用于获取匹配到的数据. 1.2 ...

随机推荐

  1. python3 string

    字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var2 ...

  2. Oracle导出DMP文件的两种方法

    本文转载自:http://www.cnblogs.com/o-andy-o/archive/2013/06/05/3118611.html   导出: 方法一:利用PL/SQL Developer工具 ...

  3. 代码生成器 CodeSmith 的使用(四)

    在上一篇的版本中,我们生成了数据库中的字段,使生成的属性更加简洁,可读性也提高了很多,但都是钍对一个数据库的单个表,如果要将数据库中的所有 的表都生成相应的类,表中的字段也都生成属性,运行一次就可以将 ...

  4. 显式锁(二)Lock接口与显示锁介绍

    一.显式锁简介    显式锁,这个叫法是相对于隐式锁synchronized而言的,加锁和解锁都要用户显式地控制.显示锁Lock是在Java5中添加到jdk的,同synchronized一样,这也是一 ...

  5. python入门-列表

    列表使用[]来标识 列表和PHP中的数组类似 包括使用和访问方式都是类似 可以用下标索引的方式直接访问 来几个例子,这样看起来才舒服 names = ['baker','pitty','david', ...

  6. 委托学习过程及委托、Lambda表达式和匿名方法的关系总结及事件总结

    第一章,当开始学习委托的时候,我们会问什么是委托?为什么要学习委托? 一,什么是委托? 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法, ...

  7. leetcode150

    public class Solution { public int EvalRPN(string[] tokens) { Stack<int> ST_NUM = new Stack< ...

  8. FireFox 火狐主页被劫持

    火狐主页被劫持hao123,流氓 WIN7 ,firefox,任务栏,快速启动,右键 属性 target 应该是 "D:\Program Files (x86)\Mozilla Firefo ...

  9. Java Future 和 FutureTask 源码Demo

    Future 是一个接口,看源码有Future 和 FutreTask 使用Demo package java.util.concurrent; /** * A <tt>Future< ...

  10. as3 中 final 修饰符

    现在,在ActionScript 3.0的修饰符中,只有final修饰符没有介绍.之所有放在这里介绍,是因为final修饰符只与继承有关,指定一个方法不能被重写或一个类不能被继承. 一般来说,当用fi ...