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 相关文章推荐
EXT中xtype的含义分析
Jan 07 Javascript
js获取ajax返回值代码
Apr 30 Javascript
jQuery中clone()方法用法实例
Jan 16 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
JavaScript定义全局对象的方法示例
Jan 12 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
使用Vue CLI创建typescript项目的方法
Aug 09 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 Javascript
vue实现浏览器全屏展示功能
Nov 27 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
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 AJAX实例根据邮编自动完成地址信息
2008/11/23 PHP
php cookie 详解使用实例
2016/11/03 PHP
javascript 跳转代码集合
2009/12/03 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
JavaScript检查数字是否为整数或浮点数的方法
2015/06/09 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
bootstarp modal框居中显示的实现代码
2017/02/18 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
Form表单上传文件(type="file")的使用
2017/08/03 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
JavaScript对象原型链原理解析
2020/01/22 Javascript
js实现时间日期校验
2020/05/26 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
用python读写excel的方法
2014/11/18 Python
用Python逐行分析文件方法
2019/01/28 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
国际象棋商店:The Chess Store
2018/07/09 全球购物
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
同事打架检讨书
2015/05/06 职场文书
卖车协议书范文
2016/03/23 职场文书
Python 绘制多因子柱状图
2022/05/11 Python
Rust中的Struct使用示例详解
2022/08/14 Javascript