-
创建正则表达式的对象
//语法 var reg = new RegExp("正则表达式", "匹配模式"); //其中第二个参数有两种模式: // i -> 忽略大小写 g -> 全局匹配模式 //使用typeod检查正则对象, 会返回object console.log(reg); //object //使用字面量的方式创建正则表达式更简单, 但构造函数的形式更灵活 //语法 var reg = /正则表达式/匹配模式;
-
正则表达式的方法
test() -> 使用这个方法可用来检查一个字符串是否符合正则表达式的规则, 符合返回true, 否则返回false
//可以用来检查一个字符串中有没有ab(i 忽略大小写) //var reg = new RegExp("ab", "i"); var reg = /a/i; var str = "Abcdbd"; console.log(reg.test(str)); //true
//检查字符串中是否有a或b的正则表达式 //var reg = /a|b/ //[]里的内容也是或的关系 [ab] == a|b var reg = /[ab]/ //[a-z] 任意小写字母 [A-Z] 任意大写字母
-
字符串和正则相关的方法
var str = "1a2b3c4d5e6f7"; // splict() 将字符串拆分成一个数组 // 方法中可以传递一个正则表达式作为参数, 这样的方法会根据正则表达式去拆分字符串 //默认是全局匹配模式 var result = str.split(/[A-z]/); console.log(result); // 1,2,3,4,5,6,7
// search() 可以搜索字符串中是否含有指定内容 // 如果搜索到指定内容则会返回第一次出现是索引, 没有返回-1 //只能返回一个, 不支持全局匹配模式 var str = "hello abc hello aec afc"; var result = str.search(/a[bef]c/); console.log(result); //6
//match() 可以根据正则表达式从一个字符串中将符合条件的内容提取出来. //默认情况下match只会找到第一个符合要求的内容, 找到后就停止检索(可以设置为全局匹配模式) //正则表达式设置多个匹配模式, 而且顺序无所谓 //match()会将匹配到的内容封装到一个数组中返回, 即使只查询到一个结果 var str = "1a2b3c4d5e6f7A8B9C"; var result = str.match(/[a-z]/ig); console.log(result); // /* ['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C'] */
//replace() 可以将字符串中指定内容替换为新的内容 //参数: 1.被替换的内容 2.新的内容 //默认只会替换一个 全部替换需设置全局匹配模式g var str = "1a2b3c4d5e6f7A8B9C"; var result = str.replace(/[a-z]/gi, "@_@"); console.log(result);//1@_@2b3c4d5e6f7@_@8B9C
-
正则表达式语法
- 量词, 通过量词可以设置一个内容出现的次数
//{n} 正好出现n次 //{m, n} 出现m-n次 //{m, } m次以上 //+ 至少一个 相当于{1, } //* 零个或多个 相当于{0, } //? 零个或一个 相当于{0, 1} var reg = /a{3}/; //aaabc -> true //量词只对它前边的一个内容起作用 reg = /ab{3}/; //abbbda -> true reg = /(ab){3}/; //ababab -> true reg = /ab{1,3}/; //ab\abb\abbb ->true console.log(reg.test("ababab")); //true reg = /^a|b$/; //以a开头或者以b结尾 reg = /^a$/; //只能有一个a
- 练习(创建一个正则表达式检查字符串是否是一个合法手机号)
// 手机号规则: 11位, 以1开头, 第二位3-9任意数字, 第三位以后任意9个数字 var reg = /^1[3-9][0-9]{9}$/; var phonStr = "18140608713"; console.log(reg.test(phonStr)); //true
-
正则表达式中使用 \ 作为转义字符
// \.来表示. // \\来表示\ var reg = /\./; reg = /\\/; //console.log(reg.test("b."));// true //字符串中\也作为转义字符 应该用\\ //console.log("b\\"); //b\ console.log(reg.test("b\\"));
-
\w -任意字母,数字,_ 相当于[A-z0-9_]
\W -除了字母,数字,_ 相当于[A-z0-9_]
\d -任意数字 相当于[0-9]
\D -除了数字
\b -匹配单词边界
var reg = /\bchild\b/; //检查是否存在单独完整的child //console.log(reg.test("hello children"));//false console.log(reg.test("hello child hi"));//true
- 练习(去除字符串中的空格)
var str = " hello hs "; //去除所有空格 //str = str.replace(/\s/g, ""); //去除开头空格 //str = str.replace(/^\s*/, ""); //去除结尾的空格 //str = str.replace(/\s*$/, ""); //去除开头和结尾的空格 str = str.replace(/^\s*|\s*$/g, ""); console.log(str); //"hello hs"
-
邮件的正则
JS知识点--正则表达式
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、什么是正则?RegExp是正则表达式的缩写。当检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp...
- 1,正则表达式的作用:匹配一个字符串中的一些内容 2,声明和使用: 1)构造函数 var reg=new RegE...