Javascript的表单验证-揭开正则表达式的面纱


Posted in Javascript onMarch 18, 2016

推荐阅读:Javascript的表单验证长度

Javascript的表单验证-提交表单

Javascript的表单验证-初识正则表达式

在上篇文章给大家介绍了javascript的表单验证-初识正则表达式,本文给大家介绍Javascript的表单验证-揭开正则表达式的面纱,具体详情请看全文。

用元字符匹配相应的字符类型

创建正则表达式有点像创建字符串字面量,只不过正则表达式出现在一对”/”里

正则表达式中会用到一级元字符,用于连接字母与数字

“.” 匹配任何字符,除换行符外

“\d”匹配任何数字字符

“\w”匹配任何字母或数字字符

“\s”匹配空格

“^”字符串需以模式起始

“$”字符串需以模式结束

元字符不只表示一个字面量字符,它乃是用于构建正则表达式的符号

例:这里有三个字符

“A”,”7”,”%”

/\w/可以匹配”A”,”7”

/^\d/可以匹配”7”

/\d/可以匹配”7”

/./可以匹配”A”,”7”,”%”

但是包含多个字符的字符串怎么办?

“2nite”,”007”,”catch22”,

/^\d/可匹配到”2nite”,”007”(开头都是数字)

/\d\d\d/可匹配”007”(一行中有3个数字)

/^cat/可匹配”catch22”(以cat字符开头)

/\d\d$/可匹配”catch22”(必须以两个数字来结尾)

例如:匹配美国邮编,邮编格式为#####-####

/^\d\d\d\d\d-\d\d\d\d$/

用限定符指定字符出现的次数

限定符用于控件子模式出现于正则表达式里的次数

限定符前为子模式,限定符即应用在子模式,并控制子模式出现在模式里的次数

“*”限定符前的子模式必须出现0次或多次

“+”限定符前的子模式必须出现1次或多次

“?”限定符前的子模式必须出现0次或1次

“{n}”限定符前的子模式必须恰好出现N次

“()”集合字符或/和元字符,成为子模式

同样是以邮政编码为例

/^\d{5}-\d{4}$/

可以看出,加上限定符的表达式比只有元字符的表达式更加的精准

/\w*/匹配任何字母数字字符,包括空字符串

/.+/匹配一个出现一次以上的字符串(用于匹配非非空的字符串)

/(Hot)??Donuts/可匹配出Hot或Donuts

*在正则表达式里想要匹配具有特殊意义的字符的时候,可以用反斜杠

例如匹配$:\$*

利用正则表达式验证数据

JavaScript里的正则表达式由RegExp对象表示,其中包含使用正则表达式验证数据的关键?test()方法,它检查字符串里是否存在指定的模式

例:

var regex=/^\d{5}$/;//匹配5位数邮政编码的正则表达式;

正则表达式对象字面量自动合建RegExp对象

if(!regex.test(inputFiled.value)) 
{ 
//在正则表达式上调用text方法 
//如果符合合正则表达式的要求,返回true 
//如果不符合正则表达式的要求,返回false 
}

代码案例

接下来,写一个专门用来验证字符串格式的方法

//regex正则表达式
//inputStr需要验证的字符串
//helpText提供信息提示的一个span标签
//helpMessage提示信息内容
//
function validateRegExp(regex,inputStr,helpText,helpMessage)
{
if(!regex.test(inputStr))
{
if(helpText!=null)
helpText.innerHTML=helpMessage;
return false;
}
else{
if(helpText!=null)
helpText.innerHTML="";
}
return true;
}
function validateDate(inputFild,helpText)
{
if(!validateNonEmpty(inputFild,helpText)//先检查参数是非空的
{
return false;
}
return validateRegExp(/^\d{2}\/\d{2}\/\d{4}$/,inputFild,helpText,"请输入正确的日期格式");//调用正则验证方法
}

好了,本文到此结束,感谢大家对三水点靠木网站支持!

Javascript 相关文章推荐
JavaScript Archive Network 集合
May 12 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
May 11 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
Jun 05 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
Aug 06 Javascript
Jqgrid之强大的表格插件应用
Dec 02 Javascript
详解Javascript中的Object对象
Feb 28 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
Jan 01 Javascript
js仿搜狐视频记录片列表展示效果
May 30 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
Apr 25 Javascript
javascript实现最长公共子序列实例代码
Feb 05 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
Javascript的表单验证-初识正则表达式
Mar 18 #Javascript
Javascript的表单验证-提交表单
Mar 18 #Javascript
Javascript的表单与验证-非空验证
Mar 18 #Javascript
悬浮广告方法日常收集整理
Mar 18 #Javascript
Js与Jq获取浏览器和对象值的方法
Mar 18 #Javascript
深入理解JavaScript程序中内存泄漏
Mar 17 #Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
Mar 17 #Javascript
You might like
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
dojo 之基础篇
2007/03/24 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
pyside写ui界面入门示例
2014/01/22 Python
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
Pycharm Git 设置方法
2020/09/15 Python
Python中Yield的基本用法
2020/10/18 Python
关于python中导入文件到list的问题
2020/10/31 Python
计算机网络毕业生自荐信
2013/10/01 职场文书
体育学院毕业生自荐信
2013/11/03 职场文书
矫正人员思想汇报
2014/01/08 职场文书
捐书寄语赠言
2014/01/18 职场文书
超市端午节活动方案
2014/01/23 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
银行职员工作失误检讨书
2014/10/14 职场文书
办公室主任个人总结
2015/02/28 职场文书
2015年共青团工作总结
2015/05/15 职场文书
Java基础——Map集合
2022/04/01 Java/Android