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 相关文章推荐
很多人都是用下面的js刷新站IP和PV
Sep 05 Javascript
简约JS日历控件 实例代码
Jul 12 Javascript
javascript实现验证身份证号的有效性并提示
Apr 30 Javascript
javascript的列表切换【实现代码】
May 03 Javascript
js实现多图左右切换功能
Aug 04 Javascript
基于angular实现三级联动的生日插件
May 12 Javascript
解决vue里碰到 $refs 的问题的方法
Jul 13 Javascript
JS数组操作中的经典算法实例讲解
Jul 26 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
Oct 24 Javascript
Vue如何获取数据列表展示
Dec 11 Javascript
js+canvas实现简单扫雷小游戏
Jan 22 Javascript
Vue elementui字体图标显示问题解决方案
Aug 18 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
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
php中{}大括号是什么意思
2013/12/01 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
javascript html 静态页面传参数
2009/04/10 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
jquery实现数字输入框
2017/02/22 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
Python使用chardet判断字符编码
2015/05/09 Python
浅析Python基础-流程控制
2016/03/18 Python
python常用知识梳理(必看篇)
2017/03/23 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
暑期实践思想汇报
2014/01/06 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
化学工程专业求职信
2014/08/10 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
2014年资料员工作总结
2014/11/18 职场文书
工程部岗位职责
2015/02/10 职场文书
公司辞职信模板
2015/05/13 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python