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 相关文章推荐
jQuery lazyload 的重复加载错误以及修复方法
Nov 19 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
Aug 14 Javascript
高效率JavaScript编写技巧整理
Aug 23 Javascript
js+css实现上下翻页相册代码分享
Aug 18 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
在vue中使用css modules替代scroped的方法
Mar 10 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 Javascript
vue项目中使用scss的方法步骤
May 16 Javascript
layui lay-verify form表单自定义验证规则详解
Sep 18 Javascript
vue的路由映射问题及解决方案
Oct 14 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
Vue组件跨层级获取组件操作
Jul 27 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初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
PHP URL路由类实例
2013/11/12 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
php随机抽奖实例分析
2015/03/04 PHP
Yii2创建多界面主题(Theme)的方法
2016/10/08 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
layui 解决富文本框form表单提交为空的问题
2019/10/26 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
python+opencv实现的简单人脸识别代码示例
2017/11/14 Python
使用python实现链表操作
2018/01/26 Python
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
Python之Class&Object用法详解
2019/12/25 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
Linux文件系统类型
2012/02/15 面试题
启动一个线程是用run()还是start()
2016/12/25 面试题
UNIX文件系统常用命令
2012/05/25 面试题
优秀党员获奖感言
2014/02/18 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis
python 爬取吉首大学网站成绩单
2021/06/02 Python