分享

爱创课堂前端js基础 正则表达式 正则的概述

 PGoneow0vuxc8m 2017-12-04


正则表达式就是用于字符串的匹配规则。数据类型是对象也是引用类型。正则常用于表单验证。

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);

IMG_256
 

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

IMG_257
 
如果不写g只输出匹配条件的第一个字符串。书写g会输出所有匹配的字符串。

1 var str = "abo          osjko  ofjo offkl";
2 console.log(str.match(/o\s+o/g));  //g
表示在全局匹配

IMG_258

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

IMG_259

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,""))

IMG_260
 
 
正则的方法:

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));

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

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

IMG_262

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多