JavaScript正则表达式及jQuery回顾
JavaScript 正则表达式,用于规定在文本中检索的内容。
一、定义正则表达式:
rep = /\d+/; // js定义正则。(python定义正则:re模块 rep = "\d+")
// 注:定义正则表达式也可以 reg= new RegExp()
- /…/ 用于定义正则表达式
- /…/g 表示全局匹配
- /…/i 表示不区分大小写
- /…/m 表示多行匹配
JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^和$,m模式也会使用^$来匹配换行的内容。
> var text = "JavaScript is more fun than \nJavaEE or JavaBeans!";
"JavaScript is more fun than \
JavaEE or JavaBeans!"
> var pattern1 = /Java\w*/g; // 无^、$,默认就是多行
> var pattern2 = /^Java\w*/g; // 有^、$,只匹配一行
> var pattern = /^Java\w*/gm; // 有^、$,多行匹配
> result = pattern.exec(text)
["JavaScript"]
> result = pattern.exec(text)
["JavaEE"]
二、正则对象的方法
有 3 个方法:test()、exec() 以及 compile()。
1、test()
test() 方法检索字符串中的指定值。返回值是 true 或 false。
> rep = /\d+/;
> rep.test("name89age") // 默认:只要内部包含就返回true
true
> rep = /^\d+$/; // ^开始符号,$结束符号
> rep.test("name89fgf")
false
2、exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
- 非全局模式
> var text = "JavaScript is more fun than Java or JavaBeans!";
> var pattern = /\bJava\w*\b/; // 默认只拿第一个
> result = pattern.exec(text)
["JavaScript"]
> var pattern = /\b(Java)\w*\b/; // () 分组匹配
> result = pattern.exec(text)
["JavaScript", "Java"]
// 注意:第一个元素是第一个匹配的结果,后面元素是正则子匹配(正则内容分组匹配)
- 全局模式
需要反复调用exec方法,来一个一个获取结果,直到匹配获取结果为null
表示获取完毕
var pattern = /\bJava\w*\b/g; // 加g,反复执行exec,一个一个匹配结果
var text = "JavaScript is more fun than Java or JavaBeans!";
result = pattern.exec(text) //每执行一次仅返回一个结果,不断next,直至nullvar pattern = /\b(Java)\w*\b/g; // 分组匹配(匹配结果再匹配)
var text = "JavaScript is more fun than Java or JavaBeans!";
result = pattern.exec(text)
3、compile()
compile() 方法用于改变 正则表达式对象。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
例子:
patt1 = new RegExp("e");
patt1.test("The best things in life are free");
patt1.compile("d");
patt1.test("The best things in life are free");
由于字符串中存在 “e”,而没有 “d”,以上代码的输出是:
true
false
三、表单验证-示例
1、知识点回顾
- Dom和jQuery方式绑定事件,获取函数返回值
<body><!--Dom方式:onclick里需要加return--><a οnclick="return ClickOn()" href="http://blog.csdn.net/fgf00">走你1</a><!--jQuery方式:--><a id="i1" href="http://blog.csdn.net/fgf00">走你2</a><script src="jquery-1.12.4.js"></script><script>// Dom方式:function ClickOn() {alert(123);return true; // true:执行后面操作,dom绑定里需要加return}// jQuery方式:$('#i1').click(function () {alert(456);return false; // false:不执行后面操作})</script>
</body>
- 事件优先级
比如a标签等一些标签,默认就有绑定事件,再给添加一个自定义事件,哪个先执行?
# 默认事件先执行:checkbox(复选框)
# 自定义事件先执行asubmit...
2、表单验证
为了防止用户点一次,就往数据库发送一次连接请求,对于一些简单的比如文本格式、长度等,在浏览器上给拦截了,是不是就可以了。
对一部分检测的功能,放到前端上面做,用js实现。但是要知道,浏览器上的js是可以被禁用的。
一般情况下,对于用户的验证,前端写一套基本验证、后端也写一套完全验证,针对所有用户。
一般情况下,对于用户的验证,前端写一套基本验证、后端也写一套完全验证,针对所有用户。
表单认证代码示例地址
转载于:https://www.cnblogs.com/zoe233/p/8028713.html
JavaScript正则表达式及jQuery回顾相关推荐
- jquery.form.js java_教javascript函数和jquery函数的使用$(form).submit(function()
教javascript函数和jquery函数的使用$("form").submit(function() 1.$ 是 JQuery 常用的一个回传函数,定义为 "选取&q ...
- 正则表达式入门教程经典Javascript正则表达式(share)
前言 例子: ^.+@.+\\..+$ 这样的代码曾经多次把我自己给吓退过.可能很多人也是被这样的代码给吓跑的吧.继续阅读本文将让你也可以自由应用这样的代码. 正文 教程:正则表达式30分钟入门教程 ...
- 《JavaScript 正则表达式迷你书》知识点小抄本
介绍 这周开始学习老姚大佬的<JavaScript 正则表达式迷你书> , 然后习惯性的看完一遍后,整理一下知识点,便于以后自己重新复习. 我个人觉得:自己整理下来的资料,对于知识重现,效 ...
- JavaScript | 正则表达式
目录 正则表达式概述 正则表达式的特点 正则表达式在 JavaScript 中的使用 创建正则表达式 1. 通过调用 RegExp 对象的构造函数创建 2. 通过字面量创建 测试正则表达式 test ...
- javascript 正则表达式 幽灵的礼物
javascript 正则表达式 好久都没有写博客了,主要是太懒了,尤其是在阳春三月,风和日丽的日子,太阳暖暖的照在身上,真想美美的睡上一觉.就导致了这篇博客拖到现在才开始动笔,javascript的 ...
- JavaScript正则表达式快速判断技巧
原文:JavaScript正则表达式快速判断技巧 这里是JS的正则的一点心得,并不是最完整的规则汇总,更侧重实际运用中的快速判断,初学者接触正则之后往往会被一堆星号括号给弄晕,有了一些速判技巧就能从整 ...
- javascript 正则表达式详解
正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...
- 超全超实用的Javascript类库和jQuery插件大全之一:图片,地图和图形
为什么80%的码农都做不了架构师?>>> 日期:2012-10-10 来源:GBin1.com 如果你需要解决一些开发中遇到的技术问题的话,很可能会找到一些相关的javasc ...
- 经典JavaScript正则表达式实战
来源:http://www.cainiao8.com/web/js_note/js_regular_expression_blueidea.html 目录 1. 正则表达式实战...1 2. 匹 ...
最新文章
- PHP实现上一篇、下一篇
- 一文理解拉格朗日对偶和KKT条件
- python opencv如何读取本地视频并显示 cv2.VideoCapture()
- win10里安装和配置flex、bison
- CDOJ 486 Good Morning 傻逼题
- AlphaGo之父亲授深度强化学习十大法则
- linux中 tar 报参数列表过长,四种解决”Argument list too long”参数列表过长的办法...
- python给定起始和结束日期,如何得到中间所有日期
- 集成产品开发团队的管理和决策
- [CF55D]Beautiful Number 题解
- C语言——指针篇(三)数组的下标引用和指针访问
- dda算法_C和C ++中的DDA线图绘制算法
- mac软件推荐,支持m1(持续更新)
- SpringBoot非官方教程 | 终章:文章汇总(转载https://blog.csdn.net/forezp/article/details/70341818 本文出自方志朋的博客)
- Python之常用内置函数
- 小葫芦弹幕助手连接服务器失败,直播必备插件神器 小葫芦弹幕助手支持一直播平台...
- BZOJ - 4516: [Sdoi2016]生成魔咒
- docker镜像(第二天)
- 在本地计算机无法启动clipbook,依赖服务组无法启动 win7依赖服务或组无法启动 怎么弄啊...
- 行业垂直类网站的电子商务
热门文章
- 松下BQ-830充电器的改造
- cni k8s 插件安装_k8s的CNI网络插件-flannel
- 登录页面报警告: This page includes a password or credit card input in a non-secure context.
- mininet初步使用,sFlow流量监测
- 火爆全网:天池所有学习资源面世!
- CSS 设置超过一定高度后出现滚动条
- Python 异常继承体系
- 联想笔记本无法通过按键进入bios解决方法。
- 华林科纳 湿法清洗中的金属杂质分离
- scalaz使用_日常使用的Scalaz功能第2部分:Monad变形金刚和Reader Monad