[js笔记整理]正则篇
一、正则基本概念
1、一种规则、模式
2、强大的字符串匹配工具
3、在js中常与字符串函数配合使用
二、js正则写法
正则在js中以正则对象存在;
(1)var re=new RegExp(正则表达式);
(2)var re=/正则表达式/;
三、正则的基本写法
1、开始结束符 ^ $
2、元字符
(1)任意字符 [abc] abc中的任意一个
(2)范围 [a-z] 字母a到c; [1-9] 数组1到9
(3)排除 [^a-z] 排除字母a-c
(4)任意字符 .
3、量词
(1) {n} 出现n次
(2) {n,m} 最少n次,最多m次
(3) + 任意次 >0次
(4) ? 最少0次 最多1次
(5) * 可有可无
4、转译字符
\d 数字 \D 非数字
\w 数字、字母、下滑线 \W 非数字 字母 下划线
\s 空白字符 \S 非空字符
5、其他字符
i 忽略大小写 例 re=/a/i A或者a
g 全局搜索 例 re=/\d/g 全部数字
四、字符串使用函数
1. str.search(re) //搜索匹配字符,返回位置
2. str.math(re) //搜索字符串,返回匹配字符数组
3. str.replace(re,'替换字符') //搜索字符串,替换匹配字符
//正则对象方法
4. re.test(str) //测试字符串是否满足正则,返回布尔值
5. re.exec(str) //类似字符串方法match
----------------------------------------------------------
示例 测试邮箱格式
邮箱格式: 用户名 @ 邮箱名 . com/cn
字符类型: 字符 数字 下划线 @ 字母 数字 . 字母
正则字符: \w @ [a-z 0-9] [a-z]
量词: + 1 + +
re=/^\w+@[a-z 0-9]+\.[a-z]+$/g
-----------------------------------------------------------
贪婪特性:
获取所有html标签
re=/^<.+>/g; 会匹配第一个《 到最后一个> 中间内容全部当做.处理
改进:
re=/^<[^<]+>/$/g;
[js笔记整理]正则篇的更多相关文章
- [js笔记整理]面向对象篇
一.js面向对象基本概念 对象:内部封装.对外预留接口,一种通用的思想,面向对象分析: 1.特点 (1)抽象 (2)封装 (3)继承:多态继承.多重继承 2.对象组成 (1)属性: 任何对象都可以添加 ...
- [js笔记整理]DOM 篇
一.节点类型 1.元素节点:HTML元素 2.文本节点:元素标签中的内容 3.属性节点:元素的属性 (检测节点类型:node.nodeType //元素=1,属性=2,文本=3) 二.使用DOM获取元 ...
- [js笔记整理]事件篇
一.事件流1.冒泡事件:从特定的事件到不特定事件依次触发:(由DOM层次的底层依次向上冒泡)(1)示例: <html onclick="add('html<br>')&qu ...
- 微信小程序笔记整理--入门篇。
7-2 微信小程序入门篇 准备篇 1.登录网址,https://mp.weixin.qq.com 注册一个微信小程序. 2.获取微信小程序appid,登录自己的小程序后台,在开发者设置中获得appid ...
- js 笔记整理
Js中for.for-in.forEach以及for-of的用法及特性对比 for-in for...in以任意顺序遍历一个对象的可枚举属性.所以for-in不适合用来迭代一个Array.同时,for ...
- 浅谈 js 字符串 trim 方法之正则篇
原文:浅谈 js 字符串 trim 方法之正则篇 关于 trim 其实没啥好说的,无非就是去除首位空格,对于现代浏览器来说只是简单的正则 /^\s+|\s+$/ 就可以搞定了.而且支持中文空格 等 ...
- JS第一周学习笔记整理
目录 JS正式课第一周笔记整理 JS正式课第一周笔记整理 webstorm : 代码编辑器 浏览器: 代码解析器: Git : 是一个工具;用于团队协作开发项目管理代码的工具:在工作中用git.svn ...
- [js]正则篇
一.正则基本概念 1.一种规则.模式.文本处理工具 2.强大的字符串匹配工具 3.在js中常与字符串函数配合使用 二.js正则写法 正则在js中以正则对象存在: (1)var re=new RegEx ...
- JS知识点整理(二)
前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...
随机推荐
- iOS开发之触摸事件及手势
1.iOS中的事件 在用户使用app过程中,会产生各种各样的事件,iOS中的事件可以分为3大类型: 2.响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并 ...
- shell脚本监控目录下文件被篡改时报警
思路: 目录下文件被篡改的几种可能: 1.被修改 2.被删除 3.新增文件 md5命令详解 参数: -b 以二进制模式读入文件内容 -t 以文本模式读入文件内容 -c 根据已生成的md5值,对现存文件 ...
- css中的inline-block
div { display: inline-block; *display: inline; *zoom: 1; } Basic Support包含值:none | inline | block | ...
- POPTEST 测试开发 免费培训课程报名
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...
- 容易忽略的z-index失效问题
前些天写一个模仿虎牙网站幻灯片的插件,期间遇到我一直都没注意到的问题,就是z-idnex会失效的问题. 我是将幻灯片的左右按设置为float浮动的,然后在调试点击的时候发现无论怎么调高z-index都 ...
- Wireless Intranet Captive Portal
Wireless Intranet Captive Portal 配置AAA服务Radius认证 radius-server key 0 radius radius-server authentica ...
- [个人小工具]清除SVN控制
SVN控制说白了就是在.svn文件夹内把项目文件的信息保存,清除SVN控制其实就是把.svn文件夹删除就可以了.但是如果文件夹太多,总不可能一个个文件夹去删除吧,所以写了个遍历文件夹删除的小工具. R ...
- Redis基础学习(四)—Redis的持久化
一.概述 Redis的强大性能很大程度上都是因为数据时存在内存中的,然而当Redis重启时,所有存储在内存中的数据将会丢失,所以我们要将内存中的数据持久化. Redis支持两种数据持久化的方 ...
- a标签传值乱码问题怎么解?
- c++中enum的用法——枚举类型
将变量的可取值全部列举出来,写在程序的开头,使用该类型的时候显示地指定取值即可(即对枚举变量进行赋予元素操作,这里之所以叫赋元素操作不叫赋值操作就是为了说明枚举变量是不能直接赋予算数值的). 如: e ...