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变量作用域更轻松
Oct 25 Javascript
javascript学习笔记(四) Number 数字类型
Jun 19 Javascript
jQuery制作仿腾讯web qq用户体验桌面
Aug 20 Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 Javascript
JQuery中Ajax()的data参数类型实例分析
Dec 15 Javascript
jQuery实现二级下拉菜单效果
Jan 05 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
Jan 14 Javascript
json对象及数组键值的深度大小写转换问题详解
Mar 30 Javascript
Node.js 如何利用异步提升任务处理速度
Jan 07 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
Mar 28 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
Aug 10 Javascript
SpringBoot在yml配置文件中配置druid的操作
Nov 16 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
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
Python实现一个简单的验证码程序
2017/11/03 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
机关单位人员学雷锋心得体会
2014/03/10 职场文书
辅导员评语
2014/05/04 职场文书
员工2014年度工作总结
2014/12/09 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
python基础之类方法和静态方法
2021/10/24 Python
Window server中安装Redis的超详细教程
2021/11/17 Redis
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android