18 面試題 正規表示式

2022-06-02 18:51:07 字數 2143 閱讀 6551

使用者名稱、整數、電子郵件位址(email)、手機號碼正則。表單驗證必備!有錯誤歡迎指正!

1)使用者名稱正則

var username=/^[a-z0-9_-]$/;    // 6到16位(大小字母,數字,下劃線,減號)

2)整數正則

var pospattern=/^\d+$/;     //匹配正整數

var negpattern=/^-\d+$/; //匹配負整數

var integer=/^-?\d+$/; //匹配整數

3)電子郵件位址正則

var email=/^[a-z0-9_\-\.]+\@[a-z0-9_\-\.]+\.([a-z])$/;

4)手機號碼正則

var phonenum=/^[1-9][0-9]$/;    //簡陋寫法

var phonenum=/^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d$/; //精確寫法

5)給乙個連字串例如:get-element-by-id轉化成駝峰形式。

var str = "get-element-by-id";

var reg = /-\w/g; // 匹配橫桿以及之後的乙個字元,全域性匹配

console.log(str.replace(reg,function($0)));

6)匹配二進位制數字

var str = "10101111";

var reg = /^[01]+$/g;

console.log(reg.test(str));

7)非零的十進位制數字 (有至少一位數字, 但是不能以0開頭)

var str = "81";

var reg = /^[1-9][0-9]?$/g;

console.log(reg.test(str));

8)匹配一年中的12個月

var str = "12";

var reg = /^(0?[1-9]|1[0-2])$/g;

console.log(reg.test(str));

9)匹配qq號最長為13為

var str ="10009093283333";

var reg = /^[1-9][0-9]$/g;

console.log(reg.test(str));

10)匹配常見的固定**號碼

var str = "000-12344562";

// \(? 匹配左括號一次或0次然後以0開頭後面加兩個數字,再匹配右括號或空格或減號一次或0次,隨後匹配8個數字

var reg = /\(?0\d[) -]?\d/g;

console.log(str.match(reg));

11)匹配ip位址

var str = "255.221.221.12";

// [01]?\d\d?表示匹配小於199的數,可以說兩位數或一位數,2[0-4]\d表示從200到249,配合25[0-5]就表示小於255的數了。

var reg = /(([01]?\d\d?|2[0-4]\d|25[0-5])\.)([01]?\d\d?|2[0-4]\d|25[0-5])/g;

console.log(str.match(reg));

12)匹配用尖括號括起來的以a開頭的字串

var str = "";

var reg = /]+>/g;

console.log(str.match(reg));

13)分割數字每三個以乙個逗號劃分

var str = "12345678901";

function numsplit(str))+$)/g;

//(\d)+$ 的意思是連續匹配 3 個數字,且最後一次匹配以 3 個數字結尾。

//要找到所有的單個字元,這些字元的後面跟隨的字元的個數必須是3的倍數,並在符合條件的單個字元後面新增,

return str.replace(re,'$1,');

}console.log(numsplit(str));

面試題53 正規表示式匹配

題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配。這是我第一次意識到指...

面試題53 正規表示式匹配

當模式中的第二個字元不是 時 1 如果字串第乙個字元和模式中的第乙個字元相匹配,那麼字串和模式都後移乙個字元,然後匹配剩餘的。2 如果 字串第乙個字元和模式中的第乙個字元相不匹配,直接返回false。而當模式中的第二個字元是 時 如果字串第乙個字元跟模式第乙個字元不匹配,則模式後移2個字元,繼續匹配...

面試題 正規表示式的匹配

今天看到這樣乙個題,實現字串的模式匹配,具體題目如下 請實現乙個函式來匹配包括 和 的正規表示式,其中匹配是指字串的所有字元匹配整個模式串。具體匹配規則如下 模式串中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,...