正則實例

正則中經常使用符號web

 

 

 

 

 

貪婪非貪婪 正則表達式

 

 Unicode編碼編碼

避免亂碼url

 

UNICODE 是目前用來解決 ASCII 碼 256 個字符限制問題的一種比較流行的解決方案。你們知道,ASCII 字符集只有256個字符,用 0-255 之間的數字來表示。包括大小寫字母、數字以及少數特殊字符;如標點符號、貨幣符號等。對於大多數拉丁語言來講,這些字符已經夠用。可是,許多亞洲和東方語言所用的字符遠遠不止256個字符。有些超過千個。人們爲了突破 ASCII 碼字符數的限制,試圖用一種簡單的方法來針對超過256個字符的語言編寫計算機程序。因而 UNICODE 應運而生。UNICODE 經過用雙字節來表示一個字符,從而在更大範圍內將數字代碼映射到多種語言的字符集。 Unicode給每一個字符提供了一個惟一的數字,不管是什麼平臺,不管是什麼程序,不論什麼語言。Unicode標準已經被這些工業界的領導們所採用,spa

 

 

刪除多個空格.net

 

 正則實例3d

郵箱code

 

經常使用的實用正則表達式整理htm

        只能輸入數字:"^[0-9]*$"。blog

  只能輸入n位的數字:"^"d{n}$"。

  只能輸入至少n位的數字:"^"d{n,}$"。

  只能輸入m~n位的數字:。"^"d{m,n}$"

  只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。

  只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。

  只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。

  只能輸入非零的正整數:"^"+?[1-9][0-9]*$"。

  只能輸入非零的負整數:"^"-[1-9][]0-9"*$。

  只能輸入長度爲3的字符:"^.{3}$"。

  只能輸入由26個英文字母組成的字符串:"^[A-Za-z]+$"。

  只能輸入由26個大寫英文字母組成的字符串:"^[A-Z]+$"。

  只能輸入由26個小寫英文字母組成的字符串:"^[a-z]+$"。

  只能輸入由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。

  只能輸入由數字、26個英文字母或者下劃線組成的字符串:"^"w+$"。

  驗證用戶密碼:"^[a-zA-Z]"w{5,17}$"正確格式爲:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。

  驗證是否含有^%&’,;=?$""等字符:"[^%&’,;=?$"x22]+"。

  只能輸入漢字:"^["u4e00-"u9fa5]{0,}$"

  驗證Email地址:"^"w+([-+.]"w+)*@"w+([-.]"w+)*"."w+([-.]"w+)*$"。

  驗證InternetURL:"^http://(["w-]+".)+["w-]+(/["w-./?%&=]*)?$"。

  驗證電話號碼:"^("("d{3,4}-)|"d{3.4}-)?"d{7,8}$"正確格式爲:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。

  驗證身份證號(15位或18位數字):"^"d{15}|"d{18}$"。

  驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式爲:"01"~"09"和"1"~"12"。

  驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式爲;"01"~"09"和"1"~"31"。

   

用正則表達式限制只能輸入中文:onkeyup="value=value.replace(/[^"u4E00-"u9FA5] /g,’’)" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^"u4E00-"u9FA5]/g,’’))"

用正則表達式限制只能輸入數字:onkeyup="value=value.replace(/[^"d]/g,’’) "onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^"d]/g,’’))"

用正則表達式限制只能輸入數字和英文:onkeyup="value=value.replace(/["W]/g,’’) "onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^"d]/g,’’))"

得用正則表達式從URL地址中提取文件名JavaScript程序,以下結果爲page1

 

 

如下是引用片斷:

s="http://www.9499.net/page1.htm" 

s=s.replace(/(.*"/){0,}([^".]+).*/ig,"$2") 

alert(s)

 

 

匹配雙字節字符(包括漢字在內):[^x00-xff]

評註:能夠用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)

 

匹配空白行的正則表達式:ns*r

評註:能夠用來刪除空白行

 

匹配HTML標記的正則表達式: <(S*?)[^>]*>.*? | <.*? />

評註:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於複雜的嵌套標記依舊無能爲力

 

匹配首尾空白字符的正則表達式:^s* |s*$

評註:能夠用來刪除行首行尾的空白字符(包括空格、製表符、換頁符等等),很是有用的表達式

 

匹配Email地址的正則表達式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

評註:表單驗證時很實用

 

匹配網址URL的正則表達式:[a-zA-z]+://[^s]*

評註:網上流傳的版本功能頗有限,上面這個基本能夠知足需求

 

匹配賬號是否合法(字母開頭,容許5-16字節,容許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

評註:表單驗證時很實用

 

匹配國內電話號碼:d{3}-d{8} |d{4}-d{7}

評註:匹配形式如 0511-4405222 或 021-87888822

 

匹配騰訊QQ號:[1-9][0-9]{4,}

評註:騰訊QQ號從10000開始

 

匹配中國郵政編碼:[1-9]d{5}(?!d)

評註:中國郵政編碼爲6位數字

 

匹配身份證:d{15} |d{18}

評註:中國的身份證爲15位或18位

 

匹配ip地址:d+.d+.d+.d+

評註:提取ip地址時有用

 

匹配特定數字:

^[1-9]d*$    //匹配正整數

^-[1-9]d*$   //匹配負整數

^-?[1-9]d*$   //匹配整數

^[1-9]d* ¦0$  //匹配非負整數(正整數 + 0)

^-[1-9]d* ¦0$   //匹配非正整數(負整數 + 0)

^[1-9]d*.d* ¦0.d*[1-9]d*$   //匹配正浮點數

^-([1-9]d*.d* ¦0.d*[1-9]d*)$  //匹配負浮點數

^-?([1-9]d*.d* ¦0.d*[1-9]d* ¦0?.0+ ¦0)$  //匹配浮點數

^[1-9]d*.d* ¦0.d*[1-9]d* ¦0?.0+ ¦0$   //匹配非負浮點數(正浮點數 + 0)

^(-([1-9]d*.d* ¦0.d*[1-9]d*)) ¦0?.0+ ¦0$  //匹配非正浮點數(負浮點數 + 0)

評註:處理大量數據時有用,具體應用時注意修正

 

匹配特定字符串:

^[A-Za-z]+$  //匹配由26個英文字母組成的字符串

^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串

^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串

^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串

^w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串

"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+___FCKpd___0quot;    //email地址

"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?___FCKpd___0quot;  //url

 

相關文章
相關標籤/搜索