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 浏览器检测代码精简版
Mar 04 Javascript
阻止子元素继承父元素事件具体思路及实现
May 02 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
深入了解JavaScript的逻辑运算符(与、或)
Dec 20 Javascript
jquery实现手机端单店铺购物车结算删除功能
Feb 22 Javascript
vue如何获取点击事件源的方法
Aug 10 Javascript
postman+json+springmvc测试批量添加实例
Mar 31 Javascript
JS加密插件CryptoJS实现的Base64加密示例
Aug 16 Javascript
Layui点击图片弹框预览的实现方法
Sep 16 Javascript
TypeScript高级用法的知识点汇总
Dec 17 Javascript
js验证密码强度解析
Mar 18 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
May 19 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
桌面中心(四)数据显示
2006/10/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
Python获取文件ssdeep值的方法
2014/10/05 Python
跟老齐学Python之模块的加载
2014/10/24 Python
python机器学习之神经网络(一)
2017/12/20 Python
什么是python的列表推导式
2020/05/26 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
社区服务活动小结
2014/07/08 职场文书
《从现在开始》教学反思
2016/02/16 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
创业计划书之酒厂
2019/10/14 职场文书
Linux中各个目录的作用与内容
2022/06/28 Servers