前端js正则表达式


正则表达式:是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符串的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符的一种过滤逻辑。

**使用正则表达式的目的**:
给定的字符串是否符合 正则表达式的过滤逻辑(称作“匹配”)
可以通过正则表达式,从字符串中获取我们想要的特定部分

**正则表达式的特点:**
灵活性、逻辑性和功能性非常的强
可以迅速地用极度简单地方式达到字符串地复杂控制

**创建的两种方式:**
var reg = new RegExp(pattern);
var reg = /^正则规则$/;

RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9a481b06c71a4d24a8139b018a81d7a2.png)

**使用字符串方法**
在 JavaScript 中,正则表达式常用于两个字符串方法:**search() 和 replace()。**
search() 方法使用表达式来搜索匹配,然后返回匹配的位置。
replace() 方法返回模式被替换处修改后的字符串。

search()方法例子:

```js
<script>
var str = "Hello word";//总共10个字符,包括一个空格
var n = str.search("word"); //返回数字,下标从0开始,出现的是6
alert(n);
</script>
```

在字符串方法 search() 中使用正则表达式
注意:实例使用正则表达式执行搜索字符串中 "word" 的大小写不敏感的搜索:

```css
<script>
var str = "Hello Word";
var n = str.search(/Word/i);//使用了i之后,大小写不敏感
alert(n)
</script>
```


**replace()** 也接受字符串作为搜索参数:

```css
<script>
var str = "nihao,javascript!";
var res = str.replace("javascript", "css"); //把javascript改成css
alert(res)//最后的结果是:nihao,css!
</script>
```

使用大小写不明的正则表达式以 W3school 来替换字符串中的 Microsoft:

```css
<script>
var str = "nihao,JAVAscript!";
var res = str.replace(/jAvascript/i, "css"); //使用i之后,不敏感大小写
alert(res)//最后结果是:nihao,css!
</script>
```

![在这里插入图片描述](https://img-blog.csdnimg.cn/e97ba064ef5b4e1b9589eb1d11279b00.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zi_6ZmI6ZmI6ZmI,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/9e6bcfc53f8f44a9809b7b445cecb991.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zi_6ZmI6ZmI6ZmI,size_20,color_FFFFFF,t_70,g_se,x_16)

**exec和test方法:**
exec(str):检索字符串中指定的值。返回找到的值,并确定其位置; 如果未找到匹配,则返回 null。
test(str):检索字符串中指定的值。返回 true 或 false

例子:(校验邮箱)

```css
<script>
//不能有中划线
var email = "1669106516@qq.com"
var reg = /^[A-z0-9_]+@[A-z0-9]+\.[A-z]+$/
console.log(reg.test(email));
</script>
```

 

 

 

 

 

 

 

 

 

 

 

 


 

posted on 2021-12-12 20:43  一只花小友  阅读(88)  评论(0)    收藏  举报

导航