写第一篇博客的时候,说想学一下正则表达式,今天算是开始入手了。不过目前只是简单的了解然后去慢慢深入,最后也会自己写一个案例来实践一下成果,所以这个系列在学习过程中会持续的更新,希望大家多多支持和指出不足。
语法格式
ps:个人更喜欢第一种,简单方便,嘻嘻
-
var reg = /a/;
注意:/正则规则/;
// 被称为正则里面的定界符 -
var reg = new RegExp(‘a’);
RegExp()是一个类,在JavaScript中理解为构造函数
正则表达式是一个对象
拓展:啥是语法糖?
方法
- test()
该方法只判断是否
test()返回一个布尔值
案例一
var string = 'dsaidashcu';
var reg = /d/;
var status = reg.test(string);
console.log(status);
- replace()
在某个字符串里面进行查询某个满足条件的字符,然后使用新的字符作为替换值,并且找到之后,进行替换后,不在向后查找进行替换
案例二
var string = 'dasd';
var newString = string.replace('d', 'D');
console.log(string);
console.log(newString);
高级应用
替换值的参数可以使用匿名函数作为参数,然后会把匿名函数执行后的返回值作为新的替换值使用
案例三
var string = 'dasd';
var newString = string.replace('d', function($0) {
return 'B';
});
console.log(string);
console.log(newString);
- match()
在某个字符串里面查询是否存在满足条件的字符,并把找到的结果放置到一个数组里面(一般搭配正则)
案例四
var string = 'dasd';
var date = string.match('s');
console.log(string);
console.log(typeof(date));
4.repeat()
将某个字符串重复指定的次数(敏感字替换获取敏感字长度后转换为*)
个人觉得应用在密码栏使用
案例五
var string = 'dasd';
var newString = string.repeat(10);
console.log(string);
console.log(newString);
5.substring()
对某个字符串进行截取,参数是一个下标开始[star, end)包含起始,不包含结束下标
但是注意参数是索引值,不是字符
当然,参数可以是1-2个
案例六
var string = 'dasd';
var newString = string.substring(0, 4);
console.log(string);
console.log(newString);
6.spilt()、sort()、join()
- 需求:将一个排好序的数组进行打乱操作
- 注意:这里不是功能(作用)
- spilt(’…’)可以将一个字符串转换为数组,以引号内的内容作为分割符
- sort()排序–>详见案例七
- join()将一个数组的元素放入一个字符串
案例七
var string = '5481288';
var arr = string.split('');
arr.sort(function(val1, val2) {
return Math.random() - 0.5; //随机
return val1 - val2; //升序
return val2 - val1; //降序
//看需求选择return
})
console.log(string);
console.log(arr);
总结
以上所有的方法都不会改变原来的字符串,而是将改变的字符串重新创建一个对象(或者字符串),总之记住需要在创建一个变量来承接