首頁 > web前端 > js教程 > js常用的正規表示式的用法小結

js常用的正規表示式的用法小結

不言
發布: 2018-08-13 10:15:03
原創
1694 人瀏覽過

這篇文章帶給大家的內容是關於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如何格式化xml字串並高亮? (附程式碼)

JS基礎系列之正規表示式

#

以上是js常用的正規表示式的用法小結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板