正則表示式的簡單語法及常用正則表示式 舉例使用jquery獲取url指定引數
基本符號:
^ 表示匹配字串的開始位置 (例外 用在中括號中[ ] 時,可以理解為取反,表示不匹配括號中字串)
$ 表示匹配字串的結束位置
* 表示匹配 零次到多次
+ 表示匹配 一次到多次 (至少有一次)
? 表示匹配零次或一次
. 表示匹配單個字元
| 表示為或者,兩項中取一項
( ) 小括號表示匹配括號中全部字元
[ ] 中括號表示匹配括號中一個字元 範圍描述 如[0-9 a-z A-Z]
{ } 大括號用於限定匹配次數 如 {n}表示匹配n個字元 {n,}表示至少匹配n個字元 {n,m}表示至少n,最多m
\ 轉義字元 如上基本符號匹配都需要轉義字元 如 \* 表示匹配*號
\w 表示英文字母和數字 \W 非字母和數字
\d 表示數字 \D 非數字
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
常用的正則表示式(轉)
匹配中文字元的正則表示式: [\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).*$
1、非負整數:^\d+$
2、正整數:^[0-9]*[1-9][0-9]*$
3、非正整數:^((-\d+)|(0+))$
4、負整數:^-[0-9]*[1-9][0-9]*$
5、整數:^-?\d+$
6、非負浮點數:^\d+(\.\d+)?$
7、正浮點數:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
8、非正浮點數:^((-\d+\.\d+)?)|(0+(\.0+)?))$
9、負浮點數:^(-((正浮點數正則式)))$
10、英文字串:^[A-Za-z]+$
11、英文大寫串:^[A-Z]+$
12、英文小寫串:^[a-z]+$
13、英文字元數字串:^[A-Za-z0-9]+$
14、英數字加下劃線串:^\w+$
15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$
17、郵政編碼:^[1-9]\d{5}$
18、中文:^[\u0391-\uFFE5]+$
19、電話號碼:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$
20、手機號碼:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$
21、雙位元組字元(包括漢字在內):^\x00-\xff
22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那樣的trim函式)
23、匹配HTML標記:<(.*)>.*<\/\1>|<(.*) \/>
24、匹配空行:\n[\s| ]*\r
25、提取資訊中的網路連結:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
26、提取資訊中的郵件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
27、提取資訊中的圖片連結:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
28、提取資訊中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)
29、提取資訊中的中國手機號碼:(86)*0*13\d{9}
30、提取資訊中的中國固定電話號碼:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}
31、提取資訊中的中國電話號碼(包括移動和固定電話):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}
32、提取資訊中的中國郵政編碼:[1-9]{1}(\d+){5}
33、提取資訊中的浮點數(即小數):(-?\d*)\.?\d+
34、提取資訊中的任何數字 :(-?\d*)(\.\d+)?
35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)
36、電話區號:/^0\d{2,3}$/
37、騰訊QQ號:^[1-9]*[1-9][0-9]*$
38、帳號(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
39、中文、英文、數字及下劃線:^[\u4e00-\u9fa5_a-zA-Z0-9]+$
-----------------------------------------------------------------------------------------------------------------------
javaScript獲取url中的引數
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //構造一個含有目標引數的正則表示式物件
var r = window.location.search.substr(1).match(reg); //匹配目標引數
if (r != null) return unescape(r[2]); return null; //返回引數值}
為jquery擴充套件一個方法來通過jquery獲取url引數
(function ($) {$.getUrlParam = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;}
})(jQuery);
呼叫var xx = $.getUrlParam('reurl');