PHP正則表達式常用例子

主頁 > 學習 > php >

次瀏覽

摘要:匹配中文字符的正則表達式: [\u4e00-\u9fa5] 匹配雙字節字符(包括漢字在內):[^\x00-\xff]

"^[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  
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/  // 年-月-日  
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/  // 月/日/年  "^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"  //Emil  /^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/   //電話號碼  "^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"  //IP地址

匹配中文字符的正則表達式: [\u4e00-\u9fa5]  
匹配雙字節字符(包括漢字在內):[^\x00-\xff]  
匹配空行的正則表達式:\n[\s| ]*\r  
匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*) \/>/  
匹配首尾空格的正則表達式:(^\s*)|(\s*$)  
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  匹配網址URL的正則表達式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$  匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$  
匹配國內電話號碼:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?  
匹配騰訊QQ號:^[1-9]*[1-9][0-9]*$

利用正則表達式限制網頁表單里的文本框輸入內容:   
用正則表達式限制只能輸入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"   
用正則表達式限制只能輸入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/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,''))"

    
=========常用正則式
    
匹配中文字符的正則表達式: [\u4e00-\u9fa5]    
匹配雙字節字符(包括漢字在內):[^\x00-\xff]    
匹配空行的正則表達式:\n[\s| ]*\r    
匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*) \/>/    
匹配首尾空格的正則表達式:(^\s*)|(\s*$)    
匹配IP地址的正則表達式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //    
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*    
匹配網址URL的正則表達式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?    
sql語句:^(select|drop|delete|create|update|insert).*$

    


非負整數:^\d+$  
正整數:^[0-9]*[1-9][0-9]*$  
非正整數:^((-\d+)|(0+))$  
負整數:^-[0-9]*[1-9][0-9]*$  
整數:^-?\d+$  
非負浮點數:^\d+(\.\d+)?$  
正浮點數:^((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+)?))$  
負浮點數:^(-((正浮點數正則式)))$  
英文字符串:^[A-Za-z]+$  
英文大寫串:^[A-Z]+$  
英文小寫串:^[a-z]+$  
英文字符數字串:^[A-Za-z0-9]+$  
英數字加下劃線串:^\w+$  
E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$  URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$  或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$  
郵政編碼:^[1-9]\d{5}$  中文:^[\u0391-\uFFE5]+$  
電話號碼:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$  
手機號碼:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$  
雙字節字符(包括漢字在內):^\x00-\xff
 匹配首尾空格:(^\s*)|(\s*$)(像vbscript那樣的trim函數)  
 匹配HTML標記:<(.*)>.*<\/\1>|<(.*) \/>  
 匹配空行:\n[\s| ]*\r  提取信息中的網絡鏈接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?  提取信息中的郵件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  
 提取信息中的圖片鏈接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?  
 提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)  
 提取信息中的中國手機號碼:(86)*0*13\d{9}  
 提取信息中的中國固定電話號碼:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}  
 提取信息中的中國電話號碼(包括移動和固定電話):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}  
 提取信息中的中國郵政編碼:[1-9]{1}(\d+){5}  
 提取信息中的浮點數(即小數):(-?\d*)\.?\d+  
 提取信息中的任何數字 :(-?\d*)(\.\d+)?  IP:(\d+)\.(\d+)\.(\d+)\.(\d+)  
 電話區號:/^0\d{2,3}$/  
 騰訊QQ號:^[1-9]*[1-9][0-9]*$  
 帳號(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$  
 中文、英文、數字及下劃線:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

隨機新聞
急速赛车收