正則表達詳解及例題

一、什麼是正則表達式:所謂正則表達式也稱爲規則表達式,作用是用來校驗字符串是否符合規則要求,也可以用來檢索字符串中是否包含符合要求的子串。

二、正則表達式的創建

1.     利用構造方法創建

1)    var  表達式名稱= new  RegExp(”表達式”,”修飾符”);

2.     利用字面量的形式創建

1)    var  表達式名稱= /表達式/修飾符;

三、正則表達式的常用方法

1.     test

1)    作用:就是用來檢測字符串是否符合正則表達式

2)    格式:正則表達式.test(字符串);

3)    注意:如果匹配返回值爲true,否則返回值爲false

四、正則表達式中常用的構成元素

1.     *:表示前面字符的個數爲0到正無窮

2.     +:表示前面字符的個數爲1到正無窮

3.     ?:表示前面字符的個數爲0到1個

4.     {n}:表示前面字符的個數爲n個

5.     {n,}:表示前面字符最少爲n個,最多爲正無窮

6.     {n,m}:表示前面字符最少n個,最多m個

7.     \:轉義字符,可以將普通字符賦予特定的功能和含義,如\n,也可以將特殊字符轉變爲普通字符,如\+

8.     \d:表示所有的數字

9.     \D:表示所有非數字

10.  \w:表示所有的字符、數字、下劃線

11.  \W:表示字母、數字、下劃線以外的所有字符

12.  \s:表示所有的空白符

13.  \S:表示所有的非空白符

14.  .:表示除了\n之外的任意字符

15.  [],主要有以下幾種形式

1)    [值1值2值3]:表示字符串中包含值1或值2或值3

2)    [值1-值2]:表示值1到值2間的任意字符,如[1-9]表示1-9間的任意數字

3)    [^值1值2值3]:表示字符串中不包含值1值2值3

4)    [\u4e00-\u9fa5]:表示任意的一個漢字

16.  |:表示或者的意思,格式值1|值2

17.  ^:表示以某個字符開頭,如^a,表示以a開頭

18.  $:表示以某個字符結尾,如a$,表示以a作結尾,如果正則表達式中/^a$/,那麼表示字符串必須是以a開頭,且以a結尾,且個數爲1個,如果不寫^和$表示包含,如/a/表示字符串中包含a即可

19.  ():表示分組

五、常用的修飾符

1.     i:表示忽略大小寫

2.     g:表示全局匹配

3.     gi:既忽略大小寫,也全局匹配

例題:

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script type="text/javascript">
			// 1.郵政編碼:由6個數字構成,第一位不可以是0
			var reg =/^[1-9]\d{5}$/;
			// 2.手機號碼:由13/15/17/18開頭的11位數字
			var red =/^13[578]\d{8}$/;
			// 3.QQ號:第一位不可以是0,位數在5-12位的數字構成
			var reg = /^[1-9]\d{4,11}$/;
			// 4.檢查是否是壓縮文件:文件名由字母、數字、下劃線構成,不可以以數字開頭,後綴爲.zip/rar/gz
			var reg =/^[a-zA-Z_]\w*\.(zip|rar|gz)$/
			// 5.電子郵件:格式爲[email protected]/cn/net/com.cn/edu/gov
			var reg =/^\S+@\S+\.(com|cn|net|com\.cn|edu|gov)$/
			// 6.網址:格式爲http://xxxxxx.xxxxxxx.com/cn/com.cn/net/edu/gov
			var reg =/^http:\/\/\w+\.\w+\.(com|cn|net|com\.cn|edu|gov)$/
			// 7.密碼:字母、數字、下劃線構成,6-20位
			var reg =/^\w{6,20}$/;
			// 8.用戶名:字母、數字、下劃線構成,6-16位,不能以數字開頭
			var reg =/^[a-zA-Z_]\w{5,15}$/;
			// 9.中文名字:三個漢字、中間必須是小或曉【[\u4e00-\u9fa5]表示任意一個漢字】
			var reg =/^[\u4e00-\u9fa5](小|曉)[\u4e00-\u9fa5]$/
			// 10.輸入年齡:只能在18-40間
			var reg =/^1[89]$|^40$|^[23][0-9]$/
			// 11.身份證號碼:15或18位,如果是15位則全部爲數字,如果是18位,前17位爲數字,第18位爲數字或字母x,字母不區分大小寫

			var reg = /^\d{15}$|^\d{17}[\dx]$/i;

			var str = "12345678901234561X";
			
			var res = reg.test(str);

			console.log(res);

	</script>
	
</body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章