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回顾相关推荐

  1. jquery.form.js java_教javascript函数和jquery函数的使用$(form).submit(function()

    教javascript函数和jquery函数的使用$("form").submit(function() 1.$ 是 JQuery 常用的一个回传函数,定义为 "选取&q ...

  2. 正则表达式入门教程经典Javascript正则表达式(share)

    前言 例子: ^.+@.+\\..+$ 这样的代码曾经多次把我自己给吓退过.可能很多人也是被这样的代码给吓跑的吧.继续阅读本文将让你也可以自由应用这样的代码. 正文 教程:正则表达式30分钟入门教程 ...

  3. 《JavaScript 正则表达式迷你书》知识点小抄本

    介绍 这周开始学习老姚大佬的<JavaScript 正则表达式迷你书> , 然后习惯性的看完一遍后,整理一下知识点,便于以后自己重新复习. 我个人觉得:自己整理下来的资料,对于知识重现,效 ...

  4. JavaScript | 正则表达式

    目录 正则表达式概述 正则表达式的特点 正则表达式在 JavaScript 中的使用 创建正则表达式 1. 通过调用 RegExp 对象的构造函数创建 2. 通过字面量创建 测试正则表达式 test ...

  5. javascript 正则表达式 幽灵的礼物

    javascript 正则表达式 好久都没有写博客了,主要是太懒了,尤其是在阳春三月,风和日丽的日子,太阳暖暖的照在身上,真想美美的睡上一觉.就导致了这篇博客拖到现在才开始动笔,javascript的 ...

  6. JavaScript正则表达式快速判断技巧

    原文:JavaScript正则表达式快速判断技巧 这里是JS的正则的一点心得,并不是最完整的规则汇总,更侧重实际运用中的快速判断,初学者接触正则之后往往会被一堆星号括号给弄晕,有了一些速判技巧就能从整 ...

  7. javascript 正则表达式详解

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...

  8. 超全超实用的Javascript类库和jQuery插件大全之一:图片,地图和图形

    为什么80%的码农都做不了架构师?>>>    日期:2012-10-10  来源:GBin1.com 如果你需要解决一些开发中遇到的技术问题的话,很可能会找到一些相关的javasc ...

  9. 经典JavaScript正则表达式实战

    来源:http://www.cainiao8.com/web/js_note/js_regular_expression_blueidea.html 目录 1. 正则表达式实战...1    2. 匹 ...

最新文章

  1. PHP实现上一篇、下一篇
  2. 一文理解拉格朗日对偶和KKT条件
  3. python opencv如何读取本地视频并显示 cv2.VideoCapture()
  4. win10里安装和配置flex、bison
  5. CDOJ 486 Good Morning 傻逼题
  6. AlphaGo之父亲授深度强化学习十大法则
  7. linux中 tar 报参数列表过长,四种解决”Argument list too long”参数列表过长的办法...
  8. python给定起始和结束日期,如何得到中间所有日期
  9. 集成产品开发团队的管理和决策
  10. [CF55D]Beautiful Number 题解
  11. C语言——指针篇(三)数组的下标引用和指针访问
  12. dda算法_C和C ++中的DDA线图绘制算法
  13. mac软件推荐,支持m1(持续更新)
  14. SpringBoot非官方教程 | 终章:文章汇总(转载https://blog.csdn.net/forezp/article/details/70341818 本文出自方志朋的博客)
  15. Python之常用内置函数
  16. 小葫芦弹幕助手连接服务器失败,直播必备插件神器 小葫芦弹幕助手支持一直播平台...
  17. BZOJ - 4516: [Sdoi2016]生成魔咒
  18. docker镜像(第二天)
  19. 在本地计算机无法启动clipbook,依赖服务组无法启动 win7依赖服务或组无法启动 怎么弄啊...
  20. 行业垂直类网站的电子商务

热门文章

  1. 松下BQ-830充电器的改造
  2. cni k8s 插件安装_k8s的CNI网络插件-flannel
  3. 登录页面报警告: This page includes a password or credit card input in a non-secure context.
  4. mininet初步使用,sFlow流量监测
  5. 火爆全网:天池所有学习资源面世!
  6. CSS 设置超过一定高度后出现滚动条
  7. Python 异常继承体系
  8. 联想笔记本无法通过按键进入bios解决方法。
  9. 华林科纳 湿法清洗中的金属杂质分离
  10. scalaz使用_日常使用的Scalaz功能第2部分:Monad变形金刚和Reader Monad