前端入门笔记之js(14)
**正则表达式:**是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符串的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符的一种过滤逻辑。
使用正则表达式的目的:
给定的字符串是否符合 正则表达式的过滤逻辑(称作“匹配”)
可以通过正则表达式,从字符串中获取我们想要的特定部分
正则表达式的特点:
灵活性、逻辑性和功能性非常的强
可以迅速地用极度简单地方式达到字符串地复杂控制
创建的两种方式:
var reg = new RegExp(pattern);
var reg = /^正则规则$/;
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
使用字符串方法
在 JavaScript 中,正则表达式常用于两个字符串方法:search() 和 replace()。
search() 方法使用表达式来搜索匹配,然后返回匹配的位置。
replace() 方法返回模式被替换处修改后的字符串。
search()方法例子:
<script>
var str = "Hello word";//总共10个字符,包括一个空格
var n = str.search("word"); //返回数字,下标从0开始,出现的是6
alert(n);
</script>
在字符串方法 search() 中使用正则表达式
注意:实例使用正则表达式执行搜索字符串中 “word” 的大小写不敏感的搜索:
<script>
var str = "Hello Word";
var n = str.search(/Word/i);//使用了i之后,大小写不敏感
alert(n)
</script>
replace() 也接受字符串作为搜索参数:
<script>
var str = "nihao,javascript!";
var res = str.replace("javascript", "css"); //把javascript改成css
alert(res)//最后的结果是:nihao,css!
</script>
使用大小写不明的正则表达式以 W3school 来替换字符串中的 Microsoft:
<script>
var str = "nihao,JAVAscript!";
var res = str.replace(/jAvascript/i, "css"); //使用i之后,不敏感大小写
alert(res)//最后结果是:nihao,css!
</script>
exec和test方法:
exec(str):检索字符串中指定的值。返回找到的值,并确定其位置; 如果未找到匹配,则返回 null。
test(str):检索字符串中指定的值。返回 true 或 false
例子:(校验邮箱)
<script>
//不能有中划线
var email = "1669106516@qq.com"
var reg = /^[A-z0-9_]+@[A-z0-9]+\.[A-z]+$/
console.log(reg.test(email));
</script>