javascript学习笔记(五)正则表达式


Posted in Javascript onApril 08, 2011

常用到的元字符有:
•. 查找单个字符,除了换行和行结束符;
•\w 匹配字母、汉字、数字、下划线等符号;
•\s 匹配空白符(包含空格、制表符等);
•\d 匹配数字;
•\b 匹配位于单词的开头或结尾的匹配;
常用的量词有:
•^n 匹配任何开头为 n 的字符串;
•n$ 匹配任何结尾为 n 的字符串;
•n+ 匹配任何包含至少一个 n 的字符串;
•n* 匹配任何包含零个或多个 n 的字符串;
•n? 匹配任何包含零个或一个 n 的字符串;
•n{X} 匹配包含 X 个 n 的序列的字符串;
•n{X, Y} 匹配包含 X 或 Y 个 n 的序列的字符串;
简单举例,主要用于验证手机号码、电话号码及邮箱:
javascript部分代码:

function isMobile() { 
var mobile = document.getElementById("mobile_phone"); 
var num = mobile.value; 
var reg = /^(13[0-9]|186|188|150|151|158|159|147)\d{8}$/; 
if(num == "") { 
alert("请输入完整的手机号"); 
mobile.focus(); 
return false; 
} else if (reg.test(num)) { 
alert("输入的手机号格式正确"); 
} else { 
alert("请输入正确的11位手机号码"); 
mobile.focus(); 
return false; 
} 
} 
function isEmail() { 
var email = document.getElementById("email"); 
var email_value = email.value; 
if(email_value == "") { 
alert("请输入完整的邮箱"); 
email.focus(); 
return false; 
} else { 
var reg = /^[a-zA-Z0-9](\w)+@(\w)+(\.)+(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)$/; 
if(reg.test(email_value)) { 
alert("输入的邮箱格式正确"); 
} else { 
alert("请输入正确的邮箱格式"); 
email.focus(); 
return false; 
} 
} 
} 
function isPhone() { 
var phone = document.getElementById("phone"); 
var phone_value = phone.value; 
if(phone_value == "") { 
alert("请输入完整的座机号码"); 
phone.focus(); 
return false; 
} else { 
var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 这些格式的座机号码都满足 
if(reg.test(phone_value)) { 
alert("输入的座机号码正确"); 
} else { 
alert("输入的座机号码格式错误"); 
phone.focus(); 
return false; 
} 
} 
}

HTML部分代码:
<p> 
<label for="mobile_phone">手 机</label> 
<input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" /> 
<input type="button" value="validate" onclick="isMobile()" /> 
</p> 
<p> 
<label for="phone">座 机</label> 
<input type="text" id="phone" name="phone" value="027-87767676" /> 
<input type="button" value="validate" onclick="isPhone()" /> 
</p> 
<p> 
<label for="email">邮 箱</label> 
<input type="" id="email" name="email" value="zhangchen2397@126.com" /> 
<input type="button" value="validate" onclick="isEmail()" /> 
</p>
Javascript 相关文章推荐
javascript之典型高阶函数应用介绍
Jan 10 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
js实现温度计时间样式代码分享
Aug 21 Javascript
javascript中return,return true,return false三者的用法及区别
Nov 17 Javascript
JavaScript严格模式详解
Nov 18 Javascript
Node.js的Express框架使用上手指南
Mar 12 Javascript
javascript检测移动设备横竖屏
May 21 Javascript
js+div+css下拉导航菜单完整代码分享
Dec 28 Javascript
微信JS SDK接入的几点注意事项(必看篇)
Jun 23 Javascript
node 利用进程通信实现Cluster共享内存
Oct 27 Javascript
mock.js实现模拟生成假数据功能示例
Jan 15 Javascript
原生JavaScript之es6中Class的用法分析
Feb 23 Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 #Javascript
javascript 学习笔记(一)DOM基本操作
Apr 08 #Javascript
jQuery 名称冲突的解决方法
Apr 08 #Javascript
js 事件处理函数间的Event物件是否全等
Apr 08 #Javascript
Javascript 八进制转义字符(8进制)
Apr 08 #Javascript
JavaScript中判断函数是new还是()调用的区别说明
Apr 07 #Javascript
JavaScript中清空数组的三种方法分享
Apr 07 #Javascript
You might like
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
理解Javascript闭包
2013/11/01 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
Python使用py2exe打包程序介绍
2014/11/20 Python
Python中的引用和拷贝浅析
2014/11/22 Python
Python变量作用范围实例分析
2015/07/07 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
Django开发的简易留言板案例详解
2018/12/04 Python
Python3分析处理声音数据的例子
2019/08/27 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
JupyterNotebook设置Python环境的方法步骤
2019/12/03 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
继承权公证书
2014/04/09 职场文书
统计学教授推荐信
2014/09/18 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
《假如》教学反思
2016/02/17 职场文书