在計算機科學中,正則表達式用來描述或者匹配一系列符合某個句法規則的字符串的單個字符串。在WEB開發中,正則表達式通常用來檢測、查找替換某些符合規則的字符串,如檢測用戶輸入E-mai格式是否正確,采集符合規則的頁面內容等等。
今天我們分別用PHP和Javscript向大家介紹WEB開發中最常用最實用的正則表達式及其用法,正則表達式是一門學科,不可能使用一篇文章來講解完,理論的東西網上很多,有興趣的同學可以搜一大把。不過你也許沒必要去埋頭學習琢磨不透的正則表達式,看本文和實例給您呈現常用、實用的正則表達式。
PHP常用表達式用法:
1.匹配正整數:/^[1-9]\d*$/
2.匹配非負整數(正整數+0):/^\d+$/
3.匹配中文:/^[\x{4e00}-\x{9fa5}]+$/u
4.匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
5.匹配網址URL:(((f|ht){1}(tp|tps)://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)
6.匹配字母開頭,5-16字符,字母數字下劃線:/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
7.匹配數字,字母,下劃線,中文:/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u
8.匹配中國郵政編碼:/^[1-9]\d{5}$/
9.匹配IP地址:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
10.匹配中國大陸身份證:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|x|X)$/
PHP正則驗證字符串方法舉例:
復制代碼 代碼如下:
$str = "中文啊";
$preg = "/^[\x{4e00}-\x{9fa5}]+$/u"; //匹配中文
if(preg_match($preg,$str,$arr)){
$msg = '匹配成功!';
}else{
$msg = '匹配失敗!';
}
echo $msg;
Javascript常用表達式用法
1.匹配正整數:/^[0-9]*[1-9][0-9]*$/
2.匹配非負整數(正整數+0):/^\d+$/
3.匹配中文:/^[\u4e00-\u9fa5]/
4.匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
5.匹配網址URL:/^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/
6.匹配字母開頭,5-16字符,字母數字下劃線:/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
7.匹配數字,字母,下劃線,中文:/^[\u4e00-\u9fa5A-Za-z0-9_]+$/
8.匹配中國郵政編碼:/^[1-9]\d{5}$/
9.匹配IP地址:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
10.匹配中國大陸身份證:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|x|X)$/
Javascript正則驗證字符串方法舉例:
復制代碼 代碼如下:
var str = "[email protected]";
var preg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; //匹配Email
if(preg.test(str)){
var msg = "匹配成功";
}else{
var msg = "匹配失敗!";
}
alert(msg);