這篇文章帶給大家的內容是關於js常用的正規表示式的用法小結,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
最近做了幾個項目,發現正規表示式用得越來越多了。我個人的習慣是,能透過查手冊取得的東西絕不死記硬背,雖然大多數科技網站都搜羅了一堆Javascript正規表示式的用法,但我還是想整理一份更有實戰意義的手冊。說穿了就是,如果以後需要用到正規表達式,直接過來複製貼上就行啦!我會盡量把排版做的漂亮一點,方便大家提升開發效率。前面是Javascript正規表示式的簡明用法,實戰內容請跳到最後一節。
三個修飾符
Javascript的正規表示式裡有三個修飾符:i、g、m
加了i之後,正規匹配不再區分大小寫(預設區分大小寫):
var reg = /j/; reg.test('Javascript'); //结果为false var reg2 = /j/i; reg2.test('Javascript'); //结果为true
javascript
加了g之後,將執行全域匹配(預設匹配一次後停止):
var reg = /a/; 'Javascript'.replace(reg,'e'); //结果为Jevascript var reg2 = /a/g; 'Javascript'.replace(reg2,'e'); //结果为Jevescript
javascript
加了m之後,將執行多行匹配(預設只有一行):
var reg = /^s/; reg.test('Java\nscript'); //结果为false var reg2 = /^s/m; reg2.test('Java\nscript'); //结果为true
javascript
涉及正規表示式的方法
很多人可能會混淆正規表示式的使用函數,這裡整理了一些常用的方法:
字串後面接3種常用函數:match(reg)(傳回符合到的字串) 、replace(reg,'...')(替換內容)、search(reg)(傳回符合內容的起始位置)
正規表示式後接2種常用函數:test(string)(返回是否符合)、exec(string)(傳回符合的字串)
正規表示式的宣告
共有兩種宣告方式,依照具體情況使用:
var reg = /a/; // 普通声明方式,大多数情况下使用 var reg2 = new RegExp('a','g'); // 字符串声明方式,部分情况特别有用
JS正規表示式實戰用法
郵件信箱的JS正規表示式:
var mailReg = /^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
手機的JS正規表示式:
var phoneReg = /^1\d{10}$/;
身分證的JS正規表示式:
var idCardReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
姓名(漢字)的JS正規表示式:
var nameReg = /^[\u4e00-\u9fa5]{2,4}$/; // 2-4位的汉字名字
普通網域的JS正規表示式:
var urlReg = /^(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*([\?&]\w+=\w*)*$/; // https或http协议的url
使用者名稱的JS正規表示式:
var userNameReg = /^[A-Za-z0-9-_]*$/; // 用户名为数字英文下划线或短划线
QQ號碼的JS正規表示式:
var qqReg = /^[1-9][0-9]{4,}$/;
郵編的JS正規表示式:
var mailReg = /^[1-9][0-9]{5}$/;
HTML標籤的JS正規表示式:
var tagReg = /<[^>]+>/; //可以用来去掉html文本中的标签,得到纯文字
日期的JS正規表示式:
var dateReg = /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/; //YYYY-MM-dd格式,短线可以视情况替换
時間的JS正規表示式:
var timeReg = /^([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/; //HH:mm:ss格式,冒号可以视情况替换
以上為一些常用的JS正規表示式
相關推薦:
#以上是js常用的正規表示式的用法小結的詳細內容。更多資訊請關注PHP中文網其他相關文章!