正則表達式基本語法詳解剖析_第1頁
正則表達式基本語法詳解剖析_第2頁
正則表達式基本語法詳解剖析_第3頁
正則表達式基本語法詳解剖析_第4頁
正則表達式基本語法詳解剖析_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、正則表達式基本語法詳解正則表達式是一種文本模式,包括普通字符(例如, a 到 z 之間的字母)和特殊字符(稱 為“元字符” )。模式描述在搜索文本時要匹配的一個或多個字符串。1. 正則表達式基本語法兩個特殊的符號A和$。他們的作用是分別指出一個字符串的開始和結束。例子如下:The:表示所有以The開始的字符串(There,The cat等);of despair$:表示所以以of despair結尾的字符串;Aabc$:表示開始和結尾都是 abc的字符串一一呵呵,只有abc自己了;notice :表示任何包含 notice 的字符串。象最后那個例子, 如果你不使用兩個特殊字符, 你就在表示要查

2、找的串在被查找串的任意部 分你并不把它定位在某一個頂端。其它還有 * , +和?這三個符號, 表示一個或一序列字符重復出現(xiàn)的次數(shù)。 它們分別表示 “沒 有或更多”,“一次或更多”還有“沒有或一次” 。下面是幾個例子:ab*:表示一個字符串有一個a后面跟著零個或若干個b。(a, ab, abbb,);ab+:表示一個字符串有一個a后面跟著至少一個b或者更多;ab?:表示一個字符串有一個a后面跟著零個或者一個b ;a?b+$ :表示在字符串的末尾有零個或一個 a 跟著一個或幾個 b。你也可以使用范圍,用大括號括起,用以表示重復次數(shù)的范圍。ab2:表示一個字符串有一個a跟著2個b (abb);ab2

3、,:表示一個字符串有一個a跟著至少2個b ;ab3,5:表示一個字符串有一個a跟著3到5個b。請注意,你必須指定范圍的下限(如:0,2而不是,2)。還有,你可能注意到了, *, +和?相當于0, , 1,和0,1。還有一個 | ,表示“或”操作:hi|hello:表示一個字符串里有hi或者hello;(b|cd)ef:表示bef或cdef;(a|b)*c :表示一串 ab 混合的字符串后面跟一個 c;.可以替代任何字符: a.0-9 :表示一個字符串有一個 a 后面跟著一個任意字符和一個數(shù)字;A3$:表示有任意三個字符的字符串(長度為3個字符);方括號表示某些字符允許在一個字符串中的某一特定位

4、置出現(xiàn):ab:表示一個字符串有一個a或b(相當于a|b);a-d:表示一個字符串包含小寫的a到d中的一個(相當于a|b|c|d 或者abed);Aa-zA-Z:表示一個以字母開頭的字符串;0-9% :表示一個百分號前有一位的數(shù)字;,a-zA-Z0-9$ :表示一個字符串以一個逗號后面跟著一個字母或數(shù)字結束。你也可以在方括號里用表示不希望出現(xiàn)的字符,A應在方括號里的第一位。(如:%Aa-zA-Z%表示兩個百分號中不應該出現(xiàn)字母) 。為了逐字表達,你必須在 A.$()|*+? 這些字符前加上轉(zhuǎn)移字符 。請注意在方括號中,不需要轉(zhuǎn)義字符。2. 正則表達式驗證控制文本框的輸入字符類型1. 只能輸入數(shù)字

5、和英文的:2. 只能輸入數(shù)字的:3 .只能輸入全角的:4.只能輸入漢字的:3. 正則表達式的應用實例通俗說明*/ 校驗是否全由數(shù)字組成/人0-91,20$/A表示打頭的字符要匹配緊跟 A后面的規(guī)則$ 表示打頭的字符要匹配緊靠 $前面的規(guī)則 中的內(nèi)容是可選字符集0-9 表示要求字符范圍在 0-9 之間1,20表示數(shù)字字符串長度合法為 1 到 20,即為0-9中的字符出現(xiàn)次數(shù)的范圍是 1 到20 次。/A 和 $/成對使用應該是表示要求整個字符串完全匹配定義的規(guī)則,而不是只匹配字符串 中的一個子串。*/ 校驗登錄名:只能輸入 5-20 個以字母開頭、可帶數(shù)字、 “_”、“.”的字串/Aa-zA-Z

6、1(a-zA-Z0-9|._)4,19$/Aa-zA-Z1 表示第一個字符要求是字母。(a-zA-Z0-9|._)4,19 表示從第二位開始(因為它緊跟在上個表達式后面)的一個長度為4到 9 位的字符串,它要求是由大小寫字母、數(shù)字或者特殊字符集 ._組成。*/ 校驗用戶姓名:只能輸入 1-30 個以字母開頭的字串/Aa-zA-Z1,30$/*/ 校驗密碼:只能輸入 6-20 個字母、數(shù)字、下劃線/伽)6,20$/w :用于匹配字母,數(shù)字或下劃線字符*/ 校驗普通電話、傳真號碼:可以“+”或數(shù)字開頭,可含有“ -” 和 “ ”/A+0,1(d)1,3 ?(-?(d)| )1,12)+$/d :用

7、于匹配從 0 到 9 的數(shù)字;“?”元字符規(guī)定其前導對象必須在目標對象中連續(xù)出現(xiàn)零次或一次可以匹配的字符串如: +123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999 等*/ 校驗 URL/Ahttps0,1:/.+$/或 /Ahttps0,1:/.1, n$/(表示 url 串的長度為 len gth( “https:/” ) +n ) / :表示字符“ /”。. 表示所有字符的集+ 等同于 1,,就是 1 到正無窮吧。*/ 校驗純中文字符 /Au4E00-u9FA5+$/u4E00-u9FA5 :估計是中文字符集的范圍吧以上表達 式均在

8、 下面的 javascript 中測試通過 規(guī)則表達式 : ( 填寫 / /之間的表達式 )校驗字符串 : 4. 正則表達式應用Ad+$/ 非負整數(shù)(正整數(shù)+ 0)A0-9*1-90-9*$/ 正整數(shù)A(-d+)|(O+)$II 非正整數(shù)(負整數(shù) + 0)人-0-9*1-90-9*$ II 負整數(shù)A-?d+$II 整數(shù)Ad+(.d+)?$ II非負浮點數(shù)(正浮點數(shù) + 0) ”a(0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$II 正浮點數(shù)A(-d+(.d+)?)|(O+(.O+)?)$II 非正浮點數(shù)(負浮點數(shù) + 0)”a(-(0-9

9、+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$II 負浮點數(shù)A(-?d+)(.d+)?$ II 浮點數(shù)AA-Za-z+$ II 由 26 個英文字母組成的字符串 AA-Z+$II 由 26 個英文字母的大寫組成的字符串Aa-z+$II由26個英文字母的小寫組成的字符串AA-Za-zO-9+$ II由數(shù)字和26個英文字母組成的字符串 Aw+$ II由數(shù)字、26個英文字母或者下劃線組成的字符串 Aw-+(.w-+)*w-+(.w-+)+$IIemail 地址Aa-zA-z+:II(w+(-w+)*)(.(w+(-w+)*)*(?S*)?$IIurl

10、IA(d2|d4)-(0(1-91)|(11|2)-(0-2(1-91)|(30|1)$III 年-月-日/A(0(1-91)|(11|2)/(0-2(1-91)|(30|1)/(d2|d4)$/II 月 I 日 I 年A(w-.+)(0-91,3.0-91,3.0-91,3.)|(w-+.)+)(a-zA-Z2,4|0-91,3)(?)$IIEmil(d+-)?(d4-?d7|d3-?d8|Ad7,8)(-d+)?II 電話號碼A(d1,2|1dd|20-4d|250-5).(d1,2|1dd|20-4d|250-5).(d1,2|1dd|20-4d|250-5).(d1, 2|1dd|20

11、-4d|250-5)$ IIIP 地址A(0-9A-F2)(-0-9A-F2)5$ IIMAC 地址的正則表達式A-+?d+(.d+)?$II值類型正則表達式5. javascript 正則表達式檢驗II 校驗是否全由數(shù)字組成 function isDigit(s)var patrn=IA0-91,20$I;if (!patrn.exec(s) return falsereturn trueII 校驗登錄名:只能輸入 5-20 個以字母開頭、可帶數(shù)字、“_”、“.”的字串function isRegisterUserName(s)var patrn=IAa-zA-Z1(a-zA-Z0-9|._

12、)4,19$I;if (!patrn.exec(s) return falsereturn trueII 校驗用戶姓名:只能輸入 1-30 個以字母開頭的字串 function isTrueName(s)var patrn=IAa-zA-Z1,30$I;if (!exec(s) return falsereturn trueII 校驗密碼:只能輸入 6-20 個字母、數(shù)字、下劃線 function isPasswd(s)var patrn=IA(w)6,20$I;if (!patrn.exec(s) return falsereturn trueII 校驗普通電話、傳真號碼:可 以 “ + ”

13、 開 頭 , 除 數(shù) 字 外 , 可 含 有 “ - ” function isTel(s)IIvar patrn=IA+0,1(d)1,3?(-?(d)1,12)+$I;varpatrn=IA+0,1(d)1,3 ?(-?(d)| )1,12)+$I;if (!patrn.exec(s) return falsereturn trueII校驗 手機號 碼 : 必須 以數(shù) 字 開頭 ,除數(shù) 字 外 ,可含 有“ -” function isMobil(s)var patrn=IA+0,1(d)1,3 ?(-?(d)| )1,12)+$I;if (!patrn.exec(s) return fa

14、lsereturn trueII校驗 郵 政 編 碼 function isPostalCode(s)IIvar patrn=IAa-zA-Z0-93,12$I;var patrn=IAa-zA-Z0-9 3,12$I;if (!patrn.exec(s) return falsereturn trueII 校驗 搜 索關鍵 字 functionisSearch(s)varpatrn=/AF!#$%A &*()+=|:;,./?1人!$%人&()+=|:;,.?0,19$/;if (!patrn.exec(s) return falsereturn truefunction isIP(s) /

15、by zerglingvarpatrn=/A0-9.1,20$/;if(!patrn.exec(s)returnfalsereturntrue/* FUNCTION: isBetween* PARAMETERS: val AS any value* lo AS Lower limit to check* hi AS Higher limit to check* CALLS:NOTHING* RETURNS:TRUE if val is between lo and hi bothinclusive,otherwisefalse.*/function isBetween (val, lo, hi

16、) if (val hi) return(false); else return(true);*(isBetween(d,1, maxDays)false) return(false);else return(true);/*FUNCTION: isDate checks a valid date* PARAMETERS:theStr AS String*CALLS: isBetween, isInt* RETURNS: TRUE if theStr is a valid date otherwise false.* */function isDate (theStr) var the1st

17、= theStr.indexOf(-);var the2nd = theStr.lastIndexOf(-);if (the1st = the2nd) return(false); else var y = theStr.substring(0,the1st);var m = theStr.substring(the1st+1,the2nd);var d = theStr.substring(the2nd+1,theStr.length);var maxDays = 31;if (isInt(m)=false | isInt(d)=false | isInt(y)=false) return(

18、false); else if (y.length 0) maxDays = 28;else if (y % 100 = 0 & y % 400 0) maxDays = 28;else maxDays = 29;if* FUNCTION: isEuDate checks a valid date in British format* PARAMETERS: theStr AS String* CALLS:isBetween, isInt* RETURNS:TRUE if theStr is a valid date otherwise false.*/function isEuDate(th

19、eStr) if (isBetween(theStr.length, 8,10)= false) return(false); else var the1st = theStr.indexOf(/);var the2nd = theStr.lastIndexOf(/);if (the1st = the2nd) return(false);else var m = theStr.substring(the1st+1,the2nd);vard =theStr.substring(0,the1st);var y = theStr.substring(the2nd+1,theStr.length);v

20、ar maxDays = 31;if (isInt(m)=false | isInt(d)=false | isInt(y)=false) return(false); else if (length 0) maxDays = 28;else if (y % 100 = 0 & y % 400 0) maxDays = 28;else maxDays = 29;if(isBetween(d,1, maxDays)false) return(false);else return(true); /*FUNCTION: Compare Date! Which is thelatest!* PARAM

21、ETERS:*RETURNS: TRUE iflessDate,moreDate AS String* CALLS: isDate,isBetween* lessDateDate2)*FUNCTION isEmpty checks if the parameter is empty or null*PARAMETERstr AS return(false);return(true);/*String*/functionisEmpty (str) if (str=null)|(str.length=0)return true;elsereturn(false);/*FUNCTION: isInt

22、* PARAMETER:theStr AS String * RETURNS:TRUE if thepassed parameteris an integer, otherwiseFALSE* CALLS:isDigit*/function isInt (theStr) var flag = true;if (isEmpty(theStr) flag=false; else for (var i=0; i decLen) return(false);else if (!isInt(intPart)| !isInt(decPart) return (false);else if (isEmpty

23、(decPart)return(false);elsereturn(true);/*FUNCTION: isEmail* PARAMETER:String (Email Address)* RETURNS: TRUEif the String is a valid Email address* FALSE if the passed string is not a valid Email Address* EMAILFORMAT: AnyNameEmailServer e.g; webmaster* sign can appear only once in the emailaddress.*

24、 instance*isEmail (theStr) var atIndex = theStr.indexOf();var dotIndex = atIndex);var flag = true;theSub = theStr.substring(0, dotIndex+1)if (atIndex theStr.lastIndexOf()|(dotIndex Document to opennew windowhite - Height of the new windowwide - Width of the new windowbars - 1-Scroll bars = YES 0-Scr

25、oll Bars = NOresize - 1-Resizable = YES 0-Resizable = NO* CALLS:NONE* RETURNS: New window=elsein the*/function newWindow (doc, hite, wide, bars, resize) var winNew=_blank;var opt=toolbar=0,location=0,directories=0,status=0,menubar=0,;opt+=(scrollbars=+bars+,);opt +=(resizable=+resize+,);opt+=(width=+wide+,);opt+=(height=+hite);winHandle

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論