查看: 327|回复: 0

[JavaScript/JQuery] 爱创课堂 前端教程js基础 正则表达式 正则的概述

发表于 2017-12-5 09:25:45
二、正则表达式正则表达式就是用于字符串的匹配规则。数据类型是对象也是引用类型。正则常用于表单验证。

1 // 案例输入一个电话号码000-88888888
2 var call = prompt("请输入一个电话号码");
3 var reg = /^\d{3}-\d{8}$/;
4 if(reg.test(call)){
5 console.log("输入正确");
6 }else{
7 console.log("输入错误,请重新输入");
8 }
2.1 正则的概述正则表达式(regular expression),简称RegExp。是被用来匹配字符串中的字符组合的模式。常用来做表单验证。

创建正则表达式最简单的方法,就是使用正则字面量。字面量:/表达式/

1 // 使用正则字面量的方法创建
2 var reg = /\d+/   //表示右一个或者多个数字;
3 var reg = /\s+/   //表示只有有一个空白字符;
4 var reg = /abcd/  //表示有四个字符必须是a,b,c,d并且顺序也是固定;
2.1 方法配合正则表达式使用的方法有字符串方法和正则表达式的方法。(谁的方法只能谁调动也就是字符串的方法只能是字符串调用,正则方法只能是正则调动)

split() 根据匹配字符串切割父字符串

match() 使用正则表达式与字符串相比较,返回一个包含匹配结果的数组。

search() 对正则表达式或指定字符串进行搜索,返回首次出现的匹配项的下标。

replace() 用正则表达式和字符串直接比较,然后用新的子串来替换被匹配的子串。

1 // split()方法用字符串切割父字符串
2 var str = "aaabbjdkdbbbbbbbbbbjskblkk";
3 // 正则的匹配规则
4 // var reg = /b+/;
5 var arr = str.split(/b+/);
6 console.log(arr);
7 var str1 = "a bbb     cc   d";
8 var arr2 = str1.split(/\s+/);
9 console.log(arr2);


1 // match()方法用于字符串或者正则的匹配输出所在位置
2 var str = "abobosjkfjffkl";
3 console.log(str.match("obo"));


如果不写g只输出匹配条件的第一个字符串。书写g会输出所有匹配的字符串。
1 var str = "abo          osjko  ofjo offkl";
2 console.log(str.match(/o\s+o/g));  //g表示在全局匹配

1 // search()方法返回首次匹配的下标。没有全局搜索。
2 var str = "aboaosjkoaaaaaofjoaoffkl";
3 console.log(str.search("oo"));
4 console.log(str.search(/oa+o/));

1 // replace()方法表示匹配的字符串替换到原来的
2 var str = "www.baidu.com";
3 // 第一个参数表示匹配的字符串
4 // 第二个参数表示新的字符串。
5 console.log(str.replace("baidu","icketang"));
6 console.log(str.replace(/baidu/,"icketang"));
7 // 去掉字符串中的空格
8 var str2 = "a   b   ccccc  d";
9 console.log(str2.replace(/\s+/g,""))



正则的方法:

exec()。方法表示匹配的字符串在父字符串中的位置。返回一个数组。即使是全局匹配也只会返回字符串第一次出现的位置。

1 // exec()字符串在父字符串中的位置
2 var str = "aaabcddddjabced";
3 // 全局匹配
4 console.log(str.match(/abc/g));
5 // 正则方法
6 // var reg = /abc/;
7 console.log(/abc/.exec(str));

test()方法检测字符串中是否有符合正则表达式的部分。有返回true,没有返回false。

1 // test()检测字符串中是否有符合正则表达式的部分
2 var str = "aaabccccddddd";
3 console.log(/abc/.test(str));
4 console.log(/abcd/.test(str));

本文章版权归爱创课堂所有,转载请注明出处。

更多详细内容请访问爱创课堂官网首页

http://www.icketang.com/


回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条