<!-- 1.什么是正则表达式 -->
<!-- 当您检索某一个文本的时候,可以使用有一种模式来描述你要检索的内容,这种模式就叫正则表达式 -->
<!-- 使用正则表达式,可以判断文本内容的格式是否正确(格式检查)、可以替换文本内容、查询内容位置等 -->
<!-- 主要的还是进行格式的检查和检索 -->
<!-- 2.正则表达式的两种写法 -->
<!-- RegExp 是正则表达式的缩写,使用它可以创建正则表达式 -->
<script>
//1. 定义一个正则表达式,这个正则表达式的意思是,定义了一个 格式标准 必须包含abc
var reg = new RegExp("abc");
console.log(reg);
//2.正则表达式常用的方法
//test(); 检索文本是否符合正则表达式的要求,返回值 true he false
// var string = "010abcef";//true
var string = "0abc111abc";//false
console.log(reg.test(string));
//exec(); 检索字符串中符合的指定值,然后返回,如果没发现合适的返回null
//默认返回一个数组 ,如果有好几个合适的对象,只返回第一个
console.log(reg.exec(string));
<!-- 1.什么是正则表达式 -->
<!-- 当您检索某一个文本的时候,可以使用有一种模式来描述你要检索的内容,这种模式就叫正则表达式 -->
<!-- 使用正则表达式,可以判断文本内容的格式是否正确(格式检查)、可以替换文本内容、查询内容位置等 -->
<!-- 主要的还是进行格式的检查和检索 -->
<!-- 2.正则表达式的两种写法 -->
<!-- RegExp 是正则表达式的缩写,使用它可以创建正则表达式 -->
<script>
//1. 定义一个正则表达式,这个正则表达式的意思是,定义了一个 格式标准 必须包含abc
var reg = new RegExp("abc");
console.log(reg);
//2.正则表达式常用的方法
//test(); 检索文本是否符合正则表达式的要求,返回值 true he false
// var string = "010abcef";//true
var string = "0abc111abc";//false
console.log(reg.test(string));
//exec(); 检索字符串中符合的指定值,然后返回,如果没发现合适的返回null
//默认返回一个数组 ,如果有好几个合适的对象,只返回第一个
console.log(reg.exec(string));
// /正则表达式主体/修饰符(可选择是否添加)
// 查询文本中是否包含weiwei i代表修饰符:不区分大小写
var zhengze = /weiwei/i;
console.log(zhengze.test("aaaWEiweiaa"));
//修饰符
//i 执行不区分大小写
//g 执行全局的匹配
var zhengze2 = /haha/g;
//exec()加了g是执行全局的匹配,但是指的不是一次就将所有的结果一次返回。而是对于exec()这个函数来讲,加了g,每一次执行,都返回下一个索引的位置
// 表达式的在主体部分
// (1) /weiwei/ 寻找是否包含weiwei
// (2)/[abc]/ 只要包含[]里的一个
var zhengze3 = /[abc]/;
console.log(zhengze3.test("a"));
// [0-9] 包含0-9中的一个 [a-z]
var zhengze4 = /[a-z][0-8]/;
console.log(zhengze4.test("8a"));
// /[a-y,0-8]/ 必须有一个满足 a-z或0-8
var zhengze7 = /[a-y,0-8]/;
console.log(zhengze7.test("y9"));
//(3) a{3} 必须有3个a
// var zhengze5 = /abc{2}/;
// console.log(zhengze5.test("abcc"));//true abcabc false
// //要有3-8个C
// var zhengze6 = /c{3,8}/;
// console.log(zhengze6.test("cccc"));
// ^以什么开头:以ab为开头
var zhengze = /^ab/;
console.log(zhengze.test("aabc"));//false
//$以什么为结尾:
var zhengze2 = /ab$/;
console.log(zhengze2.test("aaaab"));//true
var zhengze3 = /^[0-9]{8}@qq.com$/;
console.log(zhengze3.test("12345677@qq.com"));
//n+ n* n?
//n+ 匹配至少有一个n {1,---}
//n* 匹配0个到多个n {0,---}
//n? 匹配0个或1个n的字符串 {0,1} 不是很好触发
var zhengze4 = /i?/;
console.log(zhengze4.test("weii"));
//d 代表数字 [0-9]
console.log(/d/.test("a"));//flase
//D 非数字
console.log(/D/.test("&"));
//s 空格
console.log(/s/.test("a a"));
//手机号
var tel = /^1d{10}$/;
//判断是否是中国的电话
var tel2 = /^+861d{10}$/;
//-------------------------------------
//以字母开头
var mail = /^[a-z]/i;
//必须有数字
var mail2 = /d/;
//@163.com
var mail3 = /@163.com$/;