版权声明:转载声明原作者及链接 https://blog.csdn.net/ICY___/article/details/86616617
正则表达式主要用来实现字符匹配,在表单验证中有着很强大,很巧妙的作用,在之后的博客中我会将正则表达式运用到表单验证中,那么,首先了解它的具体语法和常见案例用法吧!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>正则表达式</title>
<script>
// 正则表达式
// \n匹配换行 \s匹配任何空白字符 \S匹配任何非空白字符
// 特殊字符串:
// $匹配结尾
// ()匹配的是表达式里面的子表达式
// *匹配前面的子表达式 0次或多次
// +匹配前面的子表达式 1次或多次
// .匹配单字符
// []匹配表达式的开头和结尾
// ?匹配前面子表达式0次或1次
// \匹配特殊字符
// ^表达式中取反
// {}限定符
// | 相当于或
// 限定符
// {n} 匹配前面的子表达式n次
// {n,} 匹配至少nc次
// {n,m} 最少匹配n次,至多匹配m次
// \d匹配数字
// \D匹配非数字
// 手机号的正则表达式
var phonenum = /^[1]{1}[3,5,7,8,9]{1}[0-9]{9}$/;
var my = '123456789';
alert(my.match(phonenum));//判断结果为当前值或者null
// 两种验证方式
var str1 = /[1]{1}[3,5,7,9]{1}[0-9]{9}$/;
var m = "13333333333";
alert(str1.test(m));//判断结果为true 或者 false
// 邮箱的正则表达式
// 前缀形式
// 1、 纯数字 123456 @qq.com
// 2、 纯字母 zhangsan @qq.com
// 3、 字母数字混合 zhang123 @qq.com
// 4、 带点的 zhang.san @qq.com
// 5、 带下划线 zhang_san @qq.com
// 6、 带连接线 zhang - san @qq.com
var email = /^[a-zA-Z\d]+([\.\-\_][a-zA-Z\d]+)*@([a-zA-Z\d]+[\.\-\_])+[a-zA-Z\d]{2,4}$/;
var mye = '[email protected]';
alert(mye.match(email));
// 验证纯数字
var num = /^\d+$/;
var number = '123333';
alert(number.match(num));
// 正则表达式替换字符串的字符
var str = 'askasfjfask';
var now = str.replace(/a/g, 'm');
alert(now);
var str2 = '1 2 3 4 5 6 7 8 9 0';
var now2 = str2.replace(/ /g, '');
alert(now2);
// 在字符串里面取值
var str3 = 'asauiqydoiqwfoi1479';
var now3 = /\d+/g;
console.log(str3.match(now3)[0]);
</script>
</head>
<body>
</body>
</html>
建议在熟练语法后写表达式时,先考虑需求,按照需求分步来写