DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript正則表達式實例詳解
JavaScript正則表達式實例詳解
編輯:關於JavaScript     

廢話不多說了,直接把小編多年總結匯總的代碼奉獻給大家

<script type="text/javascript">
		var str2 = "YouCan3You8Up,no can no bibi!";
		var reg = /^[0-9a-zA-Z]{1,}$/;
		console.log(reg.test(str2));
		//正則表達式的一般形式
		//正則表達式對象的創建:
		//var 對象名 = new RegExp(參數1,參數2);
		//參數1:匹配規則,必須是字符串
		//參數2:可以省略,(屬性)可選值,用來設置匹配規則的范圍
		//第一種方式
		//判斷字符串中是否包含某子字符串
		var str3 = "abcd";
		var reg2 = new RegExp("ab");
		console.log(reg2.test(str3)); //成功:true 不成功:false
		//想匹配字符串,必須使用正則表達式的函數 
		//test(字符串)函數作用:用來判斷該字符串是否滿足正則表達式的規則,如果滿足,則返回true,如果不滿足,則返回false
		//創建正則表達式的最常用方式 - 第二種方式
		//var 對象名 = /參數1/參數2;
		//參數1:設置匹配規則
		//參數2:屬性(可選值),設置匹配規則的范圍
		var str4 = "youbd";
		//判斷 /mn/ 是否包含自字符串mn
		var reg3 = /ou/;
		console.log(reg3.test(str4));
		//參數2:屬性(有三個值)
		//i:不區分字母大小寫去匹配;
		//g:全局搜索:即便匹配到對應的內容,也會繼續匹配,直到字符串結束位置
		//m:多行搜索
		var reg4 = /jingdong/i;
		console.log(reg4.test("JingDongShangCheng"));
		//匹配規則
		//1.普通的字符匹配股則
		//		/12/ /ab/ /ac8/...
		//2.特殊字符
		//		\n 換行
		//		\t 切換符號 tab鍵
		//		\r 回車鍵 enter鍵
		//		\d 數字 0-9 或者 [0123456789]
		//		\D 非數字 或者 [^0123456789]
		//		\w 字母,數字,下劃線,漢字 
		//		\W 非(字母,數字,下劃線,漢字)之外的
		//		\s 空白(空格,換行,tab切換鍵)
		//		\S 非空白
		//		.  除了\n之外的其他字符 或者 [^\n]
		//		[] 用來匹配字符串中是否出現過[]中的字符,如果出現,為true,不出現,為false
		//		[^] 用來匹配除了[]中出現的字符
		var reg5 = /\n/;
		var str5 = "LaMo\nSi";
		console.log(reg5.test(str5));
		var reg6 = /\d/; //以數字開頭
		console.log(reg6.test("007t7"));
		var reg7 = /\D/;
		console.log(reg7.test("3403l"));
		var reg8 = /\w/;
		console.log(reg8.test("$-@9"));
		var reg9 = /\W/;
		console.log(reg9.test("$-@9"));
		var reg10 = /\s/;
		console.log(reg10.test("longgui lamosi"));
		var reg11 = /\S/;
		console.log(reg11.test("longguilamosi"));
		var reg12 = /[ab]/; //判斷字符串中是否出現過任意一個字符(a,b,ab),出現,則為true,反之,為false
		console.log(reg12.test("dafbcd"));
		//特殊字符對應的正則表達式
		//		1.選字符 - 用於指定字符串的范圍 例如:[0-9] 即匹配0 到 9 的數字;
		//										[a-z] 即匹配所有的小寫字母;
		//										[A-Z] 即匹配所有的大寫字母;
		var reg13 = /[a-z0-9A-Z]/g;
		console.log(reg13.test("aii9B"));
		//		match(正則表達式) 函數
		//		作用:用來匹配該字符串中是否有符合規則的字符串,返回值是一個數組,每個字符串作為數組的一個元素
		var str13 = "A*99abcY0B49L";
		var arr = str13.match(reg13);
		console.log(arr);
		var str14 = "*abc99!@a3ab";
		var reg14 = /ab/g;
		var arr2 = str14.match(reg14);
		console.log(arr2);
		//		search(正則表達式) 函數
		//		作用:只要匹配到符合規則的字符串就會將該字符串的開始下標返回,反之,返回-1
		var str15 = "youabcdY90we";
		var result = str15.search(/ab/);
		console.log(result);
		var str16 = "you can you up,no can no bibi!";
		console.log(str16.split(""));
		console.log(str16.split("o"));
		//正則表達式匹配作為分割符號
		console.log(str16.split(/[ao]/));
		var str17 = "[email protected]";
		console.log(str17.split(/\./)); // \.轉義字符
		//以 . 或者 @ 作為分隔符
		console.log(str17.split(/[@.]/));
		console.log(str17.split(/[@\.]/));
		//替換 replace(正則表達式,字符串)
		var str18 = "no zuo no dai";
		console.log(str18.replace(/o/g, "L"));
		console.log(str18.replace(/[no]/g, "B"));
		//正則表達式裡的量詞
		//		1.{n} 重復出現至少n次
		//		2.{m,n} 重復出現 m 到 n 次
		//		3. + 匹配 相當於{1,} 1到無窮大
		//		4. * 相當於{0,} 0到無窮大
		//		5. ? 相當於{0,1} 0-1 可有可無
		var str19 = "aasdfghjklzxcvb";
		//var reg19 = /a{2}/g;
		//var reg19 = /a{1,}/g;
		//var reg19 = /a{3,6}/;
		//var reg19 = /a+/;
		//var reg19 = /a*/;
		var reg19 = /a?/g;
		console.log(reg19.test(str19));
		var str20 = "youaabcad";
		console.log(str20.replace(/a?/, "A"));
		console.log(str20.replace(/a?/g, "A"));
		//判斷郵政編碼(字符串是否滿足郵政編碼)
		//六位數,並且全部是數字
		var email = "450000";
		//第一種形式
		//		var regEmail = /^\d{6}$/g;
		//第二種形式
		var regEmail = /^[0-9]\d{5}$/g;
		console.log(regEmail.test(email));
		//		2.定位符 例如:1.^ 以某某為開頭 $ 以某某為結尾
		//2.\b :匹配到單詞的邊界
		var str21 = "abcde";
		//		var reg21 = /^abc/;//以abc為開頭
		//		var reg21 = /^[abc]/;//以a或b或c為開頭
		var reg21 = /[^abc]/; //除了a或b或c之外的字符
		console.log(reg21.test(str21));
		var str22 = "mouse money eye see";
		// \b + 單詞 (匹配到單詞前邊界的mo)
		console.log(str22.match(/\bmo/g));
		// 單詞 + \b (匹配到單詞後邊界的ey)
		console.log(str22.match(/ey\b/g));
		//練習:判斷一個字符串是否符合電話號碼
		var phoneNum = "13849007907";
		var regPhone = /^1[34578]\d{9}$/;
		console.log(regPhone.test(phoneNum));
		//判斷是否包含漢字
		var word = "longgui拉莫斯";
		var regWord = /[\u4e00-\u9fa5]+/g;
		console.log(regWord.test(word));
		//判斷身份證號碼 18位
		var num = "410184199504300000";
		var regNum = /^[1-9]\d{16}[\d|x]$/;
		
		//"^\d+$"  //非負整數(正整數 + 0)
		//"^[0-9]*[1-9][0-9]*$"  //正整數
		//"^((-\d+)|(0+))$"  //非正整數(負整數 + 0)
		//"^-[0-9]*[1-9][0-9]*$"  //負整數
		//"^-?\d+$"    //整數
		//"^\d+(\.\d+)?$"  //非負浮點數(正浮點數 + 0)
		//"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數
		//"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮點數(負浮點數 + 0)
		//"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點
		//數
		//"^(-?\d+)(\.\d+)?$"  //浮點數
		//"^[A-Za-z]+$"  //由26個英文字母組成的字符串
		//"^[A-Z]+$"  //由26個英文字母的大寫組成的字符串
		//"^[a-z]+$"  //由26個英文字母的小寫組成的字符串
		//"^[A-Za-z0-9]+$"  //由數字和26個英文字母組成的字符串
		//"^\w+$"  //由數字、26個英文字母或者下劃線組成的字符串
		//"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
		//"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
		///^13\d{9}$/gi手機號正則表達式
		/*

		//判斷是不是正數
		/^\d{1,}$/

		//判斷QQ號 5到11位的QQ號
		/^[1-9]\d{4,10}$/

		//判斷是不是整數(正負整數)
		/^\-{0,1}\d{1,}$/

		//或者
		/^\-?\d+$/

		//小數
		/^\-?\d+\.\d+$/
		*/
		//分組符號
		//();
		///nba{2}/g  ---- nbaa 子字符串
		///(nba){2}/g ----- nbanba 子字符串
		///n(ba){2}/g ----- nbaba 子字符串
		///[nba]{2}/g ----- 任意包含兩個字符(aa bb nn
		//nb na ba)
	</script>

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved