php正則表達式

"^[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]*$

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

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

用正則表達式限制只能輸入數字和英文:οnkeyup="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]+$ 

 

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