JavaScript正则表达式(一)-常用方法
公司之前有个胖女孩说你竟然会正则? 其实正则没那么难;今天我们说说他常用的几个API。
在讲方法之前, 我们先对正则表达式做一个基本的了解:
1、正则表达式定义使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。
2、英语:Regular Expression,在代码中常简写为regex、RegExp或RE。
3、多用于文本搜索和文本替换,以及条件判断。
test方法:返回Boolean
{ // -作用域-
let str = "曹操草草的收拾了屋子,去操场约会去咯"
let result = "结果他被放鸽子了"
let reg = /[草|操]/g
reg.test(str) // true
reg.test(result) // flase
} // -作用域-
search方法:返回第一个找到的子项的index
{ // -作用域-
let str = "曹操草草的收拾了屋子,去操场约会去咯"
let result = "结果他被放鸽子了"
let reg = /[草|操]/g
str.search(reg) // 1(曹操的操字,index:1)
result.search(reg) // -1(没有找到操或者草字,index:-1)
} // -作用域-
replace方法:替换匹配到的子项
{ // -作用域-
let str = "曹操草草的收拾了屋子,去操场约会去咯"
let result = "结果他被放鸽子了"
let reg = /[草|操]/g
str.replace(reg,'*') // "曹***的收拾了屋子,去*场约会去咯"
result.replace(reg,'*') // "结果他被放鸽子了"
} // -作用域-
match方法:
全局查找‘g’时:返回所有匹配的子项,返回值是Array
{ // -作用域-
let str = "曹操草草的收拾了屋子,去操场约会去咯"
let result = "结果他被放鸽子了"
let reg = /[草|操]/g
str.match(reg) // ["操", "草", "草", "操"]
result.match(reg) // null
} // -作用域-
非全局查找时:返回一个集合:[匹配子项,index,input,groups]
{ // -作用域-
let str = "曹操草草的收拾了屋子,去操场约会去咯"
let result = "结果他被放鸽子了"
let reg = /[草|操]/
str.match(reg) // ["操", index: 1, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
} // -作用域-
exec方法:
全局匹配时 reg.exec(str) 会依次匹配子项,直到匹配完成
{ // -作用域-
let str = "曹操草草的收拾了屋子,去操场约会去咯"
let result = "结果他被放鸽子了"
let reg = /[草|操]/g // 全局匹配
console.log(reg.exec(str)) // ["操", index: 1, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
console.log(reg.exec(str)) // ["草", index: 2, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
console.log(reg.exec(str)) // ["草", index: 3, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
console.log(reg.exec(str)) // ["操", index: 12, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
console.log(reg.exec(str)) // null
} // -作用域-
非全局匹配:
{ // -作用域-
let str = "曹操草草的收拾了屋子,去操场约会去咯"
let result = "结果他被放鸽子了"
let reg = /[草|操]/ // 非全局匹配
console.log(reg.exec(str)) // ["操", index: 1, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
console.log(reg.exec(str)) // ["操", index: 1, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
console.log(reg.exec(str)) // ["操", index: 1, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
console.log(reg.exec(str)) // ["操", index: 1, input: "曹操草草的收拾了屋子,去操场约会去咯", groups: undefined]
} // -作用域-
关于test方法,这里提供一些常用的正则验证方法:
下一期我们介绍正则的写法
// 是否带有小数
function isDecimal(strValue ) {
var objRegExp= /^\d+\.\d+$/;
return objRegExp.test(strValue);
} // 校验是否中文名称组成
function ischina(str) {
var reg=/^[\u4E00-\u9FA5]{2,4}$/; // 定义验证表达式
return reg.test(str); // 进行验证
} // 校验是否全由8位数字组成
function isStudentNo(str) {
var reg=/^[0-9]{8}$/;
return reg.test(str);
} // 校验电话码格式
function isTelCode(str) {
var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
return reg.test(str);
} // 校验邮件地址是否合法
function IsEmail(str) {
var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
return reg.test(str);
}
JavaScript正则表达式(一)-常用方法的更多相关文章
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- 【JS】javascript 正则表达式 大全 总结
javascript 正则表达式 大全 总结 参考整理了一些javascript正则表达式 目的一:自我复习归纳总结 目的二:共享方便大家搜索 微信:wixf150 验证数字:^[0-9]*$ 验证n ...
- 理清JavaScript正则表达式--上篇
在JavaScript中,正则表达式由RegExp对象表示.RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | ...
- 理清JavaScript正则表达式--下篇
紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ...
- JavaScript正则表达式详解(一)正则表达式入门
JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识
本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- JavaScript正则表达式下——相关方法
上篇博客JavaScript 正则表达式上——基本语法介绍了JavaScript正则表达式的语法,有了这些基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实 ...
- JavaScript 正则表达式上——基本语法
定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- 正则表达式入门教程&&经典Javascript正则表达式(share)
前言 例子: ^.+@.+\\..+$ 这样的代码曾经多次把我自己给吓退过.可能很多人也是被这样的代码给吓跑的吧.继续阅读本文将让你也可以自由应用这样的代码. 正文 教程:正则表达式30分钟入门教程 ...
随机推荐
- apacheAB测试指标
在进行性能测试过程中有几个指标比较重要: 1.吞吐率(Requests per second) 服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数.某个并 ...
- Linux 中设置 MySQL 字符集为 UTF-8
(1)查看 MySQL 字符集 登录 mysql:mysql -u root -p 查询 mysql 字符集:mysql> show variables like 'chara%'; 说明:将 ...
- pipreqs(找当前项目依赖的包)
pipreqs pipreqs可以帮你找到当前项目的所有组件及其版本.就是当别人给你一个程序的时候,你要在自己电脑上运行起来,就需要安装程序所依赖的组件,总不能自己一个一个找吧. # 安装 pip3 ...
- 调用OpenSSL实现RSA加解密和签名操作
调用OpenSSL实现RSA加解密和签名操作 RSA公钥可以从证书和公钥文件,RSA私钥可以从私钥文件中提取.OpenSSL使用了一种BIO抽象IO机制读写所用文件,可以打开文件相关联的BIO,通过B ...
- python3的dict
dict1 = {getlistUrl:getlistData,getskuUrl:getskuData, approveUrl:approveData, approvedlistUrl:approv ...
- [bzoj1005][HNOI2008][明明的烦恼] (高精度+prufer定理)
Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为N ...
- angular中多个promise的合并处理
all()方法 这个all()方法,可以把多个primise的数组合并成一个.当所有的promise执行成功后,会执行后面的回调.回调中的参数,是每个promise执行的结果.当批量的执行某些方法时, ...
- N的阶乘 mod P
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %) 例如:n = 10, P = 11,10 ...
- 【ZJOI2017 Round2练习】
………………………………………………………………………… DAY1:听说是湖南的题 T1:spaly?毫无想法,写个暴力压压惊 T2:尼克杨问号脸 T3:FFT我不会啊,70points已经尽力了
- ACM 数学
欧几里得辗转相除法求最大公约数 int gcd(int a,int b) { ) return a; else return gcd(b,a%b); } 求组合数 int C(int n ,int m ...