常用正規表示式
包含中文的(也可以用於排除、不包含中文)的正規表示式:
1//字串是否包含中文 表示匹配方括號的中任意字元,\u4e00是unicode中漢字的開始,\u9fa5則是unicode中漢字的結束
2var regexp1 = /[\u4e00-\u9fa5]/;
3var str1 = '23dasd哦';
4 console.log(regexp1.test(str1)); //
返回true,包含中文
1//郵箱位址驗證2//
正則解讀:^[a-za-z\d]表示以英文本母或數字開始,「+」表示匹配前面乙個表示式1次或者多次,等價於 。3//
([-_.][a-za-z\d]+)表示接著中間可以有「-」,「_」,「.」,然後是字母或數字,接下來的「*」表示匹配前乙個表示式(就是括號中的匹配)零次或多次4//
接著匹配郵箱必有的「@」,接下來的([a-za-z\d]+[-.])匹配字元加數字後跟「-」或「.」,比如@163.com中的163. ,5//
最後的[a-za-z\d]$中,「$」表示匹配輸入的結束表示匹配前面的字元至少2次,最多4次,簡單來說就是網域名稱,比如.com中的com,.cn中的cn
6var regexp2 = /^[a-za-z\d]+([-_.][a-za-z\d]+)*@([a-za-z\d]+[-.])+[a-za-z\d]$/;
7var str2 = '[email protected]';
8 console.log(regexp2.test(str2)); //
返回true,郵箱位址正確
包含且只包含數字+字母的正規表示式:
1//8到16位英文+數字的密碼驗證2//
正則解讀:(?![0-9]+$)表示該位置以後不全是數字,(?![a-za-z]+$)表示該位置以後不全是字母
3var regexp3 = /^(?![0-9]+$)(?![a-za-z]+$)[0-9a-za-z]$/;
4var str3 = 'sdf3255521243';
5 console.log(regexp3.test(str3)); //
返回true
應用場景:鏈結新增a標籤, 搜尋聯想詞高亮
1//str(要特殊處理的內容):有可能來自使用者輸入,有可能來自介面返回的聯想詞,所以不清楚是否含有需要轉義的字元,如"www.baidu.com?keyword='cnblog'"
這裡將原字串的每乙個字元用「」包裹起來,利用裡的特殊字元不用轉義
5var str1 = str.replace(reg1, '[$1]');
6var reg2 = new regexp(str1, "g");7//
89 str2 = str2.replace(reg2, '' + str + '');
獲取url引數的值:
1//2var url = '丿浮生若夢';3//
匹配「?」或「&」開頭,「wd=」(wd為要匹配的引數名),「([^&]*)」匹配非&的多個字元,以&結尾或整個字串的結尾
4var reg = new regexp("(\\?|&)wd=([^&]*)(&|$)");5//
window.location.search獲得的是url問號(包括問號)後面的字串
6var arr = window.location.search.match(reg); //
arr[2]為所求引數值(正則第二個括號匹配的值) arr[0]為整個字串7//
如果引數值可能是中文,用decodeuricomponent進行解碼
8 console.log(decodeuricomponent(arr[2]));
常用正規表示式例項
常用正規表示式例項 非負整數 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 負浮點數 正浮點數正則式 英...
常用的匹配正規表示式和例項
d 非負整數 正整數 0 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 非正浮點數 負浮點數 ...
python re 正規表示式例項2
usr bin env python coding utf 8 filename file process insert.py function author 劉紅波 date 2012 05 07 import glob import os import re 目標檔案 tab into inse...