在線客服
24小時(shí)免費(fèi)咨詢電話:18978941786
客服時(shí)間:上午9:30~下午6點(diǎn)
站長(zhǎng)用ASP建站常用到的一些正則表達(dá)式(很全了)
收藏 分享 發(fā)布日期:2012-2-12 16:30:44 編輯:admin 文章來源:煙寒網(wǎng)絡(luò)整理 點(diǎn)擊率:
匹配中文字符的正則表達(dá)式:
程序代碼
^\d+$ //匹配非負(fù)整數(shù)(正整數(shù) + 0)
^[0-9]*[1-9][0-9]*$ //匹配正整數(shù)
^((-\d+)|(0+))$ //匹配非正整數(shù)(負(fù)整數(shù) + 0)
^-[0-9]*[1-9][0-9]*$ //匹配負(fù)整數(shù)
^-?\d+$ //匹配整數(shù)
^\d+(\.\d+)?$ //匹配非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮點(diǎn)數(shù)
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配負(fù)浮點(diǎn)數(shù)
^(-?\d+)(\.\d+)?$ //匹配浮點(diǎn)數(shù)
^[A-Za-z]+$ //匹配由26個(gè)英文字母組成的字符串
^[A-Z]+$ //匹配由26個(gè)英文字母的大寫組成的字符串
^[a-z]+$ //匹配由26個(gè)英文字母的小寫組成的字符串
^[A-Za-z0-9]+$ //匹配由數(shù)字和26個(gè)英文字母組成的字符串
^\w+$ //匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email地址
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ //匹配url
------------------------------------
利用正則表達(dá)式去除字串中重復(fù)的字符的算法程序:
程序代碼
var s="abacabefgeeii"
var s1=s.replace(/(.).*\1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2) //結(jié)果為:abcefgi
===============================
如果var s = "abacabefggeeii"
結(jié)果就不對(duì)了,結(jié)果為:abeicfgg
正則表達(dá)式的能力有限
----------------------------------------------------------
程序代碼
Function Extension(url As String) As String
Dim r As New Regex("^(?<proto>\w+)://[^/]+?(?<port>:\d+)?/", _
RegexOptions.Compiled)
Return r.Match(url).Result("${proto}${port}")
End Function
20090701更新:
超強(qiáng)悍的IP地址驗(yàn)證正則表達(dá)式:
程序代碼
^(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])$
支持n級(jí)域名判斷的正則表達(dá)式:
程序代碼
^(([^-][a-z0-9A-Z-_]+\.)*)[^-][a-z0-9A-Z-_]+(\.[a-zA-Z]{2,4}){1,2}$
二級(jí)域名正則表達(dá)式 分析+分割 URL的正則表達(dá)式:
程序代碼
(\w+:\/\/)?([^\.]+)(\.[^/:]+)(:\d*)?([^# ]*)
第一個(gè)附加子表達(dá)式($1)是用來捕獲該 web 地址的協(xié)議部分。該子表達(dá)式匹配位于包括一個(gè)冒號(hào)和兩個(gè)正斜杠之前的任何單詞。
第二個(gè)附加子表達(dá)式($2)捕獲該地址的二級(jí)域名地址。該子表達(dá)式匹配不包括 '.' 字符的任何字符序列。
第三個(gè)附加子表達(dá)式($3)捕獲該地址的域名地址。該子表達(dá)式匹配不包括 '/' 或 ':' 字符的任何字符序列。
第四個(gè)附加子表達(dá)式($4)捕獲網(wǎng)站端口號(hào)碼,如果指定了該端口號(hào)。該子表達(dá)式匹配后跟一個(gè)冒號(hào)的零或多個(gè)數(shù)字。
第五個(gè)附加子表達(dá)式($5)捕獲由該 web 地址指定的路徑以及\或者頁面信息。該子表達(dá)式匹配一個(gè)和多個(gè)除'#' 或空格之外的字符。
將該正則表達(dá)式應(yīng)用于http://www.dlstu.cn:80/code/default.asp?id=1056所示的URI 后,子匹配包含如下內(nèi)容:
RegExp.$0 包含 "http://www.dlstu.cn:80/code/default.asp?id=1056"
RegExp.$1 包含 "http://"
RegExp.$2 包含 "www"
RegExp.$3 包含 ".dlstu.cn"
RegExp.$4 包含 ":80"
RegExp.$5 包含 "/code/default.asp?id=1056"
超強(qiáng)悍的URL網(wǎng)址驗(yàn)證正則表達(dá)式,幾乎可以匹配目前所有的常見網(wǎng)址協(xié)議,可以擴(kuò)充更多以支持其他下載協(xié)議等:
程序代碼
^((https|http|ftp|rtsp|mms)?://)?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+\.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-z]\.[a-zA-Z]{2,6})(:[0-9]{1,4})?((/?)|(/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+/?)$





