<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>元字符</title>
</head>
<body>
<script type="text/javascript">
/*
字符类别: 元字符
转义字符: \n "\"name\""
没有什么非正则不可, 正则只是让你做的东西更加准确方便
元字符:
\d: 匹配数字
\D: 匹配任意非数字的字符
\w: 匹配字母或数字或下划线
\W: 匹配任意不是字母 数字 下划线的字符
\s: 匹配任意的空白符
\S: 匹配任意不是空白符的字符
.: 匹配除换行符以外的任意单个字符
^: 表示匹配行首的文本(以谁开始)
$: 表示匹配行尾的文本(以谁结束)
*/
// \d 匹配数字 0-9
var reg1 = /\d/;
var str1 = 'd4w8er7q5';
console.log('匹配数字--', reg1.exec(str1));
// console.dir(str1);
// match() 字符串的常用方法, 把所有匹配的结果返回回来, 返回的是一个数组, 找不到的时候返回 null
var reg2 = /\d/g;
var str2 = 'd46w8er7_&?q567';
console.log(str2.match(reg2));
var reg3 = /\d\d/g;
console.log(str2.match(reg3));
var reg4 = /\d\d\d/g;
console.log(str2.match(reg4));
// replace() 符合条件的字符被替换为新的指定字符
var str5 = 'hYuang艹';
var reg5 = /h|ang|艹/g;
console.log('replace----', str5.replace(reg5, '**'));
// \w 字母数字下划线
var reg6 = /\w/g;
console.log('reg6----', str2.match(reg6));
// . 匹配除换行符以外的任意单个字符
var reg7 = /.../g;
var str7 = '123\n5678';
console.log('reg7----', str7.match(reg7));
console.log('reg7----', reg7.exec(str7));
var reg8 = /^\d\d/;
var str8 = '1n23a5678';
console.log('reg8----', str8.match(reg8));
</script>
</body>
</html>
上述运行结果: