<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正则表达式</title>
</head>
<body>
<script>
// 正则表达式作为一个对象,过滤敏感关键词 用于匹配字符中字符组合的模式
// 1-创建正则表达式
// 00对象RegExp
var regexp=new RegExp(/abc/); //只要包含abc的都可以返回true
console.log(regexp);
// 01字面量创建
var r=/abc/;
// 2-测试正则表达式regexp.test(str) 返回true和false
console.log(r.test(123)); //false
console.log(r.test('abc')); //true
console.log(r.test('abccc')); //true
console.log("-------------");
// 3-正则表达式的特殊字符
// 00边界符 ^开头 $结尾
var r2=/^abc/; //以abc开头都可以返回true
console.log(r2.test('aabc')); //false
console.log(r2.test('abccc')); //true
console.log(r2.test('abcd')); //true
console.log("-------------");
var r3=/^abc$/; //以abc开头和结尾返回true 精确匹配
console.log(r3.test('aabc')); //false
console.log(r3.test('abccc')); //false
console.log(r3.test('abcd')); //false
console.log(r3.test('abc')); //true
console.log("-------------");
// 01字符类[] 只包含[]里面其中一个字符就可以
var r4=/[abc_]/; //只要包含abc中的其中一个
console.log(r4.test('a')); //true
console.log(r4.test('b')); //true
console.log(r4.test('1')); //false
console.log(r4.test('abc')); //true
console.log(r4.test('_')); //true
console.log("-------------");
var r5=/^[abc]$/; //以a或者b或者c开头并结尾,选其中一个
console.log(r5.test('a')); //true
console.log(r5.test('b')); //true
console.log(r5.test('c')); //true
console.log(r5.test('abc')); //false
console.log("-------------");
var r6=/^[a-z]$/; //以a到z英文小写这个字符开头并结尾,选其中一个
console.log(r6.test('a')); //true
console.log(r6.test('z')); //true
console.log(r6.test('g')); //true
console.log(r6.test('gg')); //false
console.log("-------------");
var r6=/^[a-zA-Z]$/; //以a到z A-Z英文开头并结尾,选其中一个
console.log(r6.test('a')); //true
console.log(r6.test('A')); //true
console.log(r6.test('G')); //true
console.log(r6.test('1')); //false
console.log("-------------");
var r7=/^[^a-zA-Z]$/; //中括号里面^是取反的意思,不能去里面
console.log(r7.test('a')); //false
console.log(r7.test('A')); //false
console.log(r7.test('G')); //false
console.log(r7.test('1')); //true
console.log("-------------");
// 02量词符 注意{}里面中间不能有空格
// *重复0次或更多次
var r8=/^[a-zA-Z]*$/;
console.log(r8.test('a')); //true
console.log(r8.test('AA')); //true
console.log(r8.test('G')); //true
console.log(r8.test('1')); //false
console.log("-------------");
// +重复1次或更多次
var r9=/^[a-zA-Z]+$/;
console.log(r9.test('a')); //true
console.log(r9.test('AA')); //true
console.log(r9.test('G')); //true
console.log(r9.test('1')); //false
console.log("-------------");
// ?重复0次或1次
var r10=/^[a-zA-Z]?$/;
console.log(r10.test('a')); //true
console.log(r10.test('AA')); //false
console.log(r10.test('G')); //true
console.log(r10.test('1')); //false
console.log("-------------");
// {n}重复n次
var r11=/^[a-zA-Z]{2}$/;
console.log(r11.test('a')); //false
console.log(r11.test('AA')); //true
console.log(r11.test('G')); //false
console.log(r11.test('1')); //false
console.log("-------------");
// {n,}重复n次或更多次
var r12=/^[a-zA-Z]{2,}$/;
console.log(r12.test('a')); //false
console.log(r12.test('AA')); //true
console.log(r12.test('Gdfd')); //true
console.log(r12.test('1')); //false
console.log("-------------");
// {n,m}重复n次到m次
var r13=/^[a-zA-Z]{2,4}$/;
console.log(r13.test('a')); //false
console.log(r13.test('AA')); //true
console.log(r13.test('Gfd')); //true
console.log(r13.test('tttt')); //true
console.log(r13.test('ttttff')); //false
console.log("-------------");
// 4-正则表达式的替换
var str='red和green';
// 以前
let newStr=str.replace("red","orange"); //部分替换
console.log("替换后的str:")
console.log(newStr);
// 正则表达式替换 全局匹配 / /g 忽略带小写 / /i
let newStr1=str.replace(/e/g,"*"); //将所有e替换成*
console.log(newStr1);
</script>
</body>
</html>
|