正則表達式主要用來實現字符匹配,在表單驗證中有着很強大,很巧妙的作用,在之後的博客中我會將正則表達式運用到表單驗證中,那麼,首先了解它的具體語法和常見案例用法吧!
<!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>
建議在熟練語法後寫表達式時,先考慮需求,按照需求分步來寫