RegExp(正则表达式)对象

  正则表达式是一个描述字符模式的对象,可以处理更复杂的字符串。进行匹配替换。

常用的修饰符:
i/m/g

使用方法:
【声明方法一: new RegExp(value)】
var patt = new RegExp(value);【value】中放入想要检查的值
var res = patt.test("this is javascript course"); 检测这段话中是否存在【value】中的值,返回值为boolean类型。

【声明方法二: var patt = /value/】
var patt = /value/i :i表示不区分大小写

【test()函数:检测字符串中是否存在正则表达式模式对应的匹配,返回类型为布尔类型】
参数:string指定的字符串。
注意:每次执行test()函数,都只查找最多一次匹配,找到返回true,否则false。

【方括号用于查找某个范围内的值:/[value]/】
var res =/[abc]/.test("def") 返回值:如果test("value")中的值【存在】于/[abc]/中则返回true,否则false

【^符号表示查找不再该范围内的任何值/[^value/]】
var res =/[^abc]/.test("def") 返回值:如果test("value")中的值【不存在】于/[abc]/中则返回true,否则false

【元字符:它的逻辑是或逻辑,只要一个为真结果就为真】
【查找单个字符,除了换行和行结束符:/./】
例子:
res = /./.test("\n"); 返回false
res = /./.test("this is a test\n") 返回true

【查找单词字符:\w 小写】
例子:
res = /\w/.test("!#@"); 返回false,因为test("value")中不包含单词字符【a-zA-Z0-9】

【查找非单词字符:\W 大写】
例子:
res = /\W/.test("!#@abc"); 返回true,因为test("value")中包含了非单词字符,它的逻辑是或逻辑,只要一个为真结
果就为真。

【查找空白字符:\s 】
例子:
res=/\s/.test('hello world');

【查找非空白字符:\S 】
例子:
res=/\S/.test(" ");

【匹配单词边界:\b 单词边界指的是一个单词的左右两边,开始和结束】
例子: 通常不要两边都写
res = /\bValue/.test('good');返回true value在\b后面表示后面的值是否在最左边
res = /value\b/.test('good');返回true value在\b前面表示前面的值是否在最右边

【匹配非单词边界:\B 单词边界指的是一个单词的左右两边,开始和结束】
例子:value的值在\B的左右两边无所谓
res = /o\b/.test('good');返回true 因为o这个值不再test字符串的两边

【量词 -*/?】
【/value : 表示value中的值,匹配至少一次或多次】
例子:
res=/o /.test('google');

【/value*:* 表示value中的值,匹配>=0次】
例子:
res=/o*/.test('google');

【/value?:? 表示value中的值,匹配零次或一次】
例子:
res=/o?/.test('google');

【/^value/: ^ 不加方括号,表示value的值,在test中是否是第一位,是则返回true,否则返回false】
例子:
res=/^k/.test('ikkk'); 返回false,因为k的值不是第一位。

【/value$/:$ 表示匹配任何结尾为value的字符串】
例子:
res=/i$/i.test('hai'); 返回true 因为$前面的i在test中是最后一位

【/大写value$/:$ 表示匹配任何结尾为value的字符串,js中是区分大小写的,所以匹配不到】
例子:
res=/I$/i.test('hai'); 返回false 因为I是大写,test中没有I,所以返回false,可以通过i来给它变成不区分大小写

【/value{x}/:{x} 表示匹配包含X个n的序列的字符串;它也是或逻辑 如果前面的值不匹配,后面的值匹配它一样为true】
例子:
res=/o(?=w)/.test('helloworld'); 返回true; 表示o后面的值等于w,就相当于/ow/,然后该值在test中是否存在。
res=/o(?!w)/.test('helloworld'); 返回true; ?!w,相当于o的值后面有没有w,如果没有返回true,否则返回false,
由于它是或逻辑判断,第一个o后面有w,但是第二个o后面没有w,所有它返回true

【/\d/:\d 表示test中的值是否有数字】
例子:
res=/\d/.test('aajkldsfj8');//[0-9] 返回true,只要test中存在数字它就返回true。

【/\D/:\D 表示test中的值是否不存在数字】
例子:
res=/\D/.test('sdfkjllsdfj');//[^0-9] 返回true,只要test中存在数字它就返回true。

【exec()函数:在目标字符串中执行一次正则匹配操作,并将结果以数组的形式返回】
参数:string指定的字符串

【通过exec函数查找value】
res=/Is/i.exec('this is a test');
返回:["is", index: 2, input: "this is a test"]
意思为检索的值为is,index2是指它开始的位置,input是指被检索的整个字符串,因为加了i所以不区分大小写
因为它返回的是数组,可以使用res[0]来接收或显示在页面上,如果res[value]的大于上面数组的长度,它返回undefined

【lastIndex属性:】

定义:当正则表达式中有全局标志g,tet()函数不是从字符串的开头开始查找,而是从属性lastIndex所指定的位置出开始
查找,属性的默认值是0,所以它第一次仍然是从字符串开头查找,当找到一个匹配的时候,test()函数会将lastIndex的值改为本次匹配内
容的下一个的索引位置,当两次执行test()函数的时候,将会从该索引处查找,从而找到下一个匹配。
简单来说,就是test()执行第一次匹配到值的时候,它下一次会从上一次匹配之后继续检索。

【String通过match()函数也可以使用正则表达式】
例子:
var str='this is a test';
res=str.match(/IS/i); 检索出str中的IS,i不是不区分大小写。
返回值:["is", index: 2, input: "this is a test"]
它返回的值是一个数组类型,和exec()函数检索值一样。

【全局g】
例子:
var str='this is a test';
res=str.match(/IS/ig); 检索出str中的IS,i不是不区分大小写,g代表全局。
返回值:(2) ["is", "is"]
(2)表示存在多少个is,数组形式输出["is","is"]

更多专业前端知识,请上 【猿2048】www.mk2048.com

JS正则表达式的基础用法相关推荐

  1. html和cs、js、jq 基础用法

    # web01 1. web前端: 学习如何搭建页面 2. 数据库: 学习如何对数据进行增删改查 3. Servlet: 判断请求的目的从而做出对应的响应  (获取请求并做出响应) ###服务器 - ...

  2. python之正则表达式(基础篇)

    前言 在向网页进行了提交请求之类的之后,我们可以得到了网页的返回内容,里面自然而然会有我们想要的数据,但是html元素文本这么多,我们不可能一 一去找我们需要的数据,这时就需要用到正则表达式了,正则表 ...

  3. JS正则表达式常见用法实例详解

    这篇文章主要介绍了JS正则表达式常见用法,结合实例形式分析了javascript元字符.分组符.修饰符.量词基本含义,并结合具体案例形式分析了javascript正则基本使用技巧,需要的朋友可以参考下 ...

  4. javascript基础——文字变大变小className的使用及JS浮动的兼容用法

    文字变大变小,详情页比较常见的那种 <!DOCTYPE html> <html lang="en"> <head><meta charse ...

  5. js mysql替换_MySQL中使用replace、regexp进行正则表达式替换的用法分析

    本文实例讲述了MySQL中使用replace.regexp进行正则表达式替换的用法.分享给大家供大家参考,具体如下: 今天一个朋友问我,如果将数据库中查到的类似于"./uploads/110 ...

  6. [渗透攻防] 二.SQL MAP工具从零解读数据库及基础用法

    这是最近学习渗透和网站攻防的文章,希望能深入地学习这部分知识,自己作为一个初学者,前一篇文章从数据库原理解读了防止SQL注入,这篇文章通过SQLMAP工具简单介绍SQL注入及用法.自己仍在慢慢探索网络 ...

  7. JS正则表达式-附身份证号码验证(简易版)

    文章目录 JS正则表达式 匹配与搜索 一.方括号,圆括号 二.修饰符 三.元字符 四.量词 身份证号码验证(简易版) 身份证号码规则: 1.地址码 2.年份码 3.月份码 4.日期码 5.顺序码 6. ...

  8. JS正则表达式完整版

    目录 引言 第一章 正则表达式字符匹配攻略 1 两种模糊匹配 2. 字符组 3. 量词 4. 多选分支 5. 案例分析 第1章 小结 第二章 正则表达式位置匹配攻略 1. 什么是位置呢? 2. 如何匹 ...

  9. 【JS-正则表达式】JS正则表达式完整教程(略长)

    引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣. 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准. 关于正则表达式的教程,网上也有很多,相信你也看了一些. ...

最新文章

  1. 数据库迁移用到的命令
  2. 微信小程序接入,https服务器搭建和调试
  3. c++如何让字符串重复输出_python编程入门八:列表、元组、字符串的转换及补充方法...
  4. ZooKeeper--分层仲裁简介
  5. Spark之RDD理论篇
  6. 华科计算机专硕英语几,考研考华科计算机考数学几英语几啊,另外考华科数..._考研_帮考网...
  7. (转) 通过UUID在vSphere虚拟机内外识别硬盘
  8. java server 参数_java serversocket参数详解
  9. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明),签到题HIL
  10. 软件测试---------兼容性 / 安装卸载 / 易用性测试点(超详细)
  11. 程序员有哪些含金量高的证书可以考?
  12. 计算机桌面计算机快捷方式不见,桌面快捷方式不见了,教您桌面快捷方式不见了怎么办...
  13. 开源的api文档管理系统
  14. 百度搜索框代码,实现回车点击,跳转到新页面,简单
  15. Unity IOS 微信SDK 记录
  16. 暄桐教室的50本必读书 | 39《前朝梦忆》
  17. 跨省游恢复!酒店行业怎么利用小程序抓住机会,应该做哪些?
  18. 影像组学|特征定义以及提取
  19. 配置console口认证(华为/思科)
  20. 一个十分好用的桌面快速预览工具--QuickLook

热门文章

  1. centos安装llvm_Linux CentOS上编译并安装Clang教程
  2. java bom json,JSON字符串带BOM头ufeff
  3. Promise 学习心得
  4. leetcode-54 螺旋矩阵
  5. day3----python变量与常量
  6. 使用SpringData出现java.lang.AbstractMethodError
  7. guava API整理
  8. 莫队算法 BOJ 2038 [2009国家集训队]小Z的袜子(hose)
  9. 计算几何相关资料+题目推荐(不定期补充)
  10. Pytorch--Tensor, Numpy--Array,Python--List 相互之间的转换