js 正则表达式详细基础教程
正则表达式
创建正则对象
1.var reg=new RegExp("","");2.使用字面量来创建正则表达式
语法: var变量= /正则表达式/匹配模式
var reg=/a/i;
使用方法
1.创建一个正则表达式,检查一个字符串中是否有a或b
* 使用|表示或者的意思
reg =/a|b|c/;
* 使用[][ab]==a|b[a-z] 任意小写字母[A-Z] 任意大写字母[A-z] 任意字母[0-9] 任意数字reg=/[abc]/
* 检查一个字符串中是否含有abc或adc或aec
reg=/a[bde]c/ ;
* [^ ]除了
字符串跟正则
split()
默认全局匹配-可以将一个字符串拆分为一个数组根据任意字母拆分var result=str.split(/[A-z]/);search()
如果搜索到指定内容,则会返回第一次出现的索引, 如果没有搜索到返回-1
它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
* 搜索字符串中是否含有abc或aec或afc
var result=str.search(/a[bef]c/);match()
可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
match( )会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果
str = "1a2b3c4d5e6f7A8B" ;
result = str.match(/[a-z]/ig); //即忽略大小写又全局匹配
console.1og(result);replace()
可以将字符串中指定内容替换为新的内容
默认只替换第一个
第二个参数为空,就相当于删除
result=str.replace(/[a-z]/gi,"")
正则表达式语法
量词
设置一个内容出现的次数* {n} 正好出现n次 * {m,n} 出现m-n次* {m,} 出现m次以上var reg=/a{3}/; //aaavar reg=/(ab){3}/; //abababvar reg=/ab{1,3}c/; console.log(reg.test(""))* + 至少一个,相当于{1,}* * 0或多个相当于{0,}* ? 0个或1个人相当于{0,1}^ 表示开头
$ 表示结尾
reg =/^a/; 以a开头
reg =/a&/; 以a结尾
reg =/^a&/; 只有一个a
reg =/^a|a&/; 手机号规则
1.以1开头 ^1
2.第二位3-9任意数字 [3-9]
3.三位以后任意数字9个 [0-9]{9}$
var phoneReg=/^1[3-9][0-9]{9}$/;检查一个字符串中是否含有.
.表示任意字符
在正则表达式中使用\作为转义字符
\.来表示,
\\表示\
\W 任意字母、数字、_ [A-z0-9_]
\W 除了字母、数字、_ [^A-z0-9_]
\d 任意的数字[0-9]
\D 除了数字[^0-9]
\s 空格
\S 除了空格
\b 单词边界
\bchild\b 去除字符串中的空格
str=str.replace(/\s/g,"") 全部空格都没了
/^\s*/g //去除开头的空格
/\s*$/g //去除结尾的空格
/^\s*|\s*$/g 电子邮件的正则
任意字母数字下划线 .任意字母数字下划线 @ 任意字母数字 .任意字母 (2-5位) .任意字母(2- 5位)
\w{3,} (\.\W+)* @ [A-z0-9]+ (\.[A-z]{2,5}){1,2}var emailReg=/^\W{3,}(\.\W+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
js 正则表达式详细基础教程相关推荐
- Python超详细基础教程,从入门到实践
Python超详细基础入门 一.变量和简单数据类型 (一)修改字符串大小写 (二)制表符和换行符 (三)删除空白 (四)数 二.列表 (一)列表定义 (二)修改.添加和删除元素 (三)组织列表 三.操 ...
- Docker超详细基础教程
一.Docker介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中, ...
- js正则表达式详细教程
//校验是否全由数字组成 [code] function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return fals ...
- JS正则表达式的基础用法
RegExp(正则表达式)对象 正则表达式是一个描述字符模式的对象,可以处理更复杂的字符串.进行匹配替换. 常用的修饰符: i/m/g 使用方法: [声明方法一: new RegExp(value)] ...
- 【Three.js】简单地3D工具-Three.js建模入门基础教程
在Three.js中,一个可见的物体是由几何体和材料构成的.在这个教程中,我们将学习如何从头开始创建新的网格几何体,研究Three.js为处理几何对象和材质所提供的相关支持. 1.索引面集/Index ...
- python详细基础教程-Python基础教程,Python入门教程(非常详细)
Python 英文本意为"蟒蛇",直到 1989 年荷兰人 Guido van Rossum (简称 Guido)发明了一种面向对象的解释型编程语言(后续会介绍),并将其命名为 P ...
- Redis灵魂百问(入门详细基础教程)
[redis是什么] redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. redis的官网地址,是redis.io.(域名后缀io属于国家域名, ...
- 近万字Vue详细基础教程
目录 1.1.概念(基于vue2) 1.2.vue/cli脚手架 1.2.1 创建项目启动服务 1.2.2 项目目录讲解(可略过) 1.2.3 自定义配置 1.2.4 eslint 1.2.5 单vu ...
- MySql超级详细基础教程
mysql.exe 客户端 mysql -h localhost -uroot -p 连接到mysqld.exe 数据库->表(行,列) 表(多行多列的) insert(增) 可以插入所有列,也 ...
- 阿里云短信验证服务详细基础教程
阿里云短信验证服务 1. 注册一个阿里云的帐号 2. 在搜索栏搜索短信服务 3. 点击免费开通 4.开通之后点击管理控制台 5. 获取AccessKey 6. 创建AccessKey并保存,后面会用到 ...
最新文章
- html广告位代码,一段CSS代码让你的广告位“立起来”
- CSU 1328: 近似回文词
- 用Telnet发送HTTP请求
- eclipse常用以及实用的快捷键
- android设置title_所见即所得的 Android 自动化神器,用 Automate 一键收藏文章
- 自定义键盘组件_WEB组件终极开发手册:让玩家没了鼠标也能操作
- vue draggable 火狐拖拽搜索bug解决
- MyBatis动态插入的实现
- list mybatis批量保存_如何实现mybatis批量将list数据插入到数据库
- Linux源码安装pgadmin4,CentOS7中安装pgAdmin 4
- 基于嵌入式linux的课程设计课题背景,嵌入式系统课题研究背景
- vue项目引用美图秀秀图片编辑器
- openlayers6【五】地图图层数据来源 source 详解
- 怎么让termux运行Java_在安卓手机上通过 Termux 运行编译/运行 .NET 应用
- 贝壳找房app使用Glide替换Picasso
- Kaggle数据集之电信客户流失数据分析(三)之决策树分类
- 我用源码搭建直播网站
- (function ($, undefined){ })(jQuery); 的使用及说明
- 海康威视IPCamera图像捕获方法:捕获实时流,将实时流解码成YV12,然后转换成RGB
- 6月22日!苹果WWDC大会,全球免费参加-首次在线举行!