JQuery之正则表达式

1.定义正则表达式

  • /.../  用于定义正则表达式
  • /.../g 表示全局匹配
  • /.../i 表示不区分大小写
  • /.../m 表示多行匹配

2.匹配正则表达式

非全局模式,不分组  

var pattern = /^Java\w*/m;
var text = "JavaScript is more fun than JavaEE or JavaBeans!";
pattern.exec(text)
pattern.exec(text)
pattern.exec(text)执行结果:
["JavaScript"]
["JavaScript"]
["JavaScript"]

非全局模式,分组

var pattern = /^Java(\w*)/m;
var text = "JavaScript is more fun than \nJavaEE or JavaBeans!";
pattern.exec(text)
pattern.exec(text)
pattern.exec(text)执行结果:
["JavaScript", "Script"]
["JavaScript", "Script"]
["JavaScript", "Script"]

全局模式,不分组

var pattern = /^Java\w*/gm
var text = "JavaScript is more fun than JavaEE or JavaBeans!";
pattern.exec(text)
pattern.exec(text)
pattern.exec(text)
pattern.exec(text)执行结果:
["JavaScript"]
null
["JavaScript"]
null

全局模式,分组

var pattern = /^Java(\w*)/gm;
var text = "JavaScript is more fun than JavaEE or JavaBeans!";
pattern.exec(text)
pattern.exec(text)
pattern.exec(text)
pattern.exec(text)
执行结果:
["JavaScript", "Script"]
null
["JavaScript", "Script"]
null

3.

obj.search(regexp) 获取索引位置,搜索整个字符串,返回匹配成功的第一个位置(g模式无效)
obj.match(regexp) 获取匹配内容,搜索整个字符串,获取找到第一个匹配内容,如果正则是g模式找到全部
obj.replace(regexp, replacement) 替换匹配替换,正则中有g则替换所有,否则只替换第一个匹配项,
                  $数字:匹配的第n个组内容;
                  $&:当前匹配的内容;
                  $`:位于匹配子串左侧的文本;
                  $‘:位于匹配子串右侧的文本
                  $$:直接量$符号

var text = "JavaScript is more fun than \nJavaEE or JavaBeans!";
text.match(/Java\w+/mg);
["JavaScript", "JavaEE", "JavaBeans"]
var text = "JavaScript is more fun than \nJavaEE or JavaBeans!";
text.replace(/Java\w+/mg,‘Python‘);
"Python is more fun than
Python or Python!"
var text = "JavaScript is 8 more fun than 7 JavaEE or 6 JavaBeans!";
text.replace(/\d+/gm,‘Python‘);
"JavaScript is Python more fun than Python JavaEE or Python JavaBeans!"
var text = "JavaScript is 8 more fun than 7 JavaEE or 6 JavaBeans!";
text.replace(/\d+/gm,‘Python$&‘);
"JavaScript is Python8 more fun than Python7 JavaEE or Python6 JavaBeans!"
var text = "JavaScript is more fun than JavaEE or JavaBeans!";
text.replace(/Java/,‘==Python==$\‘‘);
"==Python==Script is more fun than JavaEE or JavaBeans!Script is more fun than JavaEE or JavaBeans!"
text.replace(/Java/,‘==Python==$`‘);
"==Python==Script is more fun than JavaEE or JavaBeans!"
				
时间: 2024-08-08 09:26:20

JQuery之正则表达式的相关文章

jquery中正则表达式运用样例

<script> // 获取文档读取完成时机 $(function(){ // 正则在jquery中的两种写法 // 1.通过 new RegExp(' 正则表达式 ') // 2.通过/ 正则表达式 / var reOne = new RegExp('^\\d+$', 'i'); var reTwo = /^\d+$/; var sStr = "qwe123"; alert(reOne.test(sStr)) alert(reTwo.test(sStr)) // jque

JQuery使用正则表达式验证手机号,邮箱,身份证(含有港澳台)

自己对正则验证也没系统用过,这次自己做个demo,一下子把这些全都用上了,下次有需要直接来拿了. 以下代码是在页面使用JQuery进行验证的,也有在后台进行验证的,可以试试,都一样的原理. 直接上代码:注意:(有些验证规则当然不仅仅是本文的,也许还有其他更好的,可以留言交流) 手机号:(移动-电信-联通) var tel = $("#PhoneNumber").val();//获取输入的手机号 var yidongreg = /^(134[012345678]\d{7}|1[34578

jquery:给正则表达式添加变量

http://www.2cto.com/kf/201402/277766.html 前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下. 一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = "string"; var a = [1,2]; var o = {}; 如果需要加入变量,那也是十分简单的事情,比如: var v = "bl"; var s = "string&quo

JQuery与正则表达式应用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jquery常用正则表达式

1.邮箱验证正则表达式:/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/ 2.手机验证正则表达式:/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/ 3.座机验证正则表达式:/^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/ 4.6-12位字母数字组合的密码验证正则表达式:/^[A-Za-z0

jQuery选择器代码详解(四)——Expr.preFilter

原创文章,转载请注明出处,多谢! Expr.preFilter是tokenize方法中对ATTR.CHILD.PSEUDO三种选择器进行预处理的方法.具体如下: Expr.preFilter : { "ATTR" : function(match) { /* * 完成如下任务: * 1.属性名称解码 * 2.属性值解码 * 3.若判断符为~=,则在属性值两边加上空格 * 4.返回最终的mtach对象 * * match[1]表示属性名称, * match[1].replace(rune

框架封装

如果不使用框架,给页面的标签设置样式document.getElementsByTagName("div");或者var dvs = document.querySelectorAll("div"),for(var i = 0; i < dvs.length; i++) { dvs[i].style.border = "1px dotted blue"; }这样写有很多缺点1.一个页面会有很多变量,造成全局变量污染2.代码冗余 3.无法复

javascript学习路线图

史上最全的javascript学习路线图 JavaSctipt学习路线 完成整个课程大纲需要花上6~8周的时间,将学会完整的JavaScript语言(包括jQuery和一些HTML5).如果你没有时间在6个星期里完成所有的课程(确实比较有挑战性),尽量不要超过8个星期.花的时间越长,掌握和记忆各种知识点的难度就越大. 1-2周(简介,数据类型,表达式和操作符) 如果你还不是很了解HTML和CSS,完成Codecademy上的web基础任务. 阅读<JavaScript权威指南>或者<Ja

给web前端初学者的一些有效率建议,突破就业难题123点!

因为IT互联网发展的非常迅速,而web前端这块很火,目前工资水平给的很高,在市场上也是非常的稀缺人才,现在各个行业转行做web前端的很多,今天给大家一些建议,希望新手少走点弯路吧! 建议一:有一个比较适合自己系统的学习方案,系统的学习教程,很多人在开始学习web前端的时候都不知道如何规划,也不知道web前端应该学什么内容.先把web前端学了一遍之后才是真正的入门,然后就是不断的练习,不断的巩固,为之后的工作打下坚实的基础. 建议二:我看很多新手刚学web前端就看各种书籍,我一个做了5年web前端