最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

面試中會遇到的正則題

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 19:56:55
文檔

面試中會遇到的正則題

面試中會遇到的正則題:正則表達式,有木有人像我一樣,學(xué)了不知道多少遍,學(xué)的時候看起來都懂了,過一段時間就又忘的差不多了,等真正要用到的時候,還是一臉懵逼。說到底還是練習的不夠多,一直處于只看不做的程度上。所以搜集了這些正則習題,來保證溫故而知新。建議讀者看完題目
推薦度:
導(dǎo)讀面試中會遇到的正則題:正則表達式,有木有人像我一樣,學(xué)了不知道多少遍,學(xué)的時候看起來都懂了,過一段時間就又忘的差不多了,等真正要用到的時候,還是一臉懵逼。說到底還是練習的不夠多,一直處于只看不做的程度上。所以搜集了這些正則習題,來保證溫故而知新。建議讀者看完題目

1、var s1 = "get-element-by-id"; 給定這樣一個連字符串,寫一個function轉(zhuǎn)換為駝峰命名法形式的字符串 getElementById

var f = function(s) {
 return s.replace(/-\w/g, function(x) {
 return x.slice(1).toUpperCase();
 })
}

2、判斷字符串是否包含數(shù)字

function containsNumber(str) {
 var regx = /\d/;
 return regx.text(str);
}

3、判斷電話號碼

function isPhone(tel) {
 var regx = /^1[34578]\d{9}$/;
 return regx.test(tel);
}

4、判斷是否符合指定格式

給定字符串str,檢查其是否符合如下格式

  1. XXX-XXX-XXXX

  2. 其中X為Number類型

function matchesPattern(str) {
 return /^(\d{3}-){2}\d{4}&/.test(str);
}

5、判斷是否符合USD格式

給定字符串 str,檢查其是否符合美元書寫格式

  1. 以 $ 開始

  2. 整數(shù)部分,從個位起,滿 3 個數(shù)字用 , 分隔

  3. 如果為小數(shù),則小數(shù)部分長度為 2

  4. 正確的格式如:$1,023,032.03 或者 $2.03,錯誤的格式如:$3,432,12.12 或者 $34,344.3**

function isUSD(str) {
 var regx = /^\$\d{1,3}(,\d{3})*(\.\d{2})?$/;
 return regx.test(str);
}

6、JS實現(xiàn)千位分隔符

function format(number) {
 var regx = /\d{1,3}(?=(\d{3})+$)/g;
 return (number + '').replace(regx, '$&,') // $&表示與regx相匹配的字符串
}

7、獲取 url 參數(shù)

獲取 url 中的參數(shù)

  1. 指定參數(shù)名稱,返回該參數(shù)的值 或者 空字符串

  2. 不指定參數(shù)名稱,返回全部的參數(shù)對象 或者 {}

  3. 如果存在多個同名參數(shù),則返回數(shù)組

function getUrlParam(url, key) {
 var arr = {};
 url.replace(/\??(\w+)=(\w+)&?/g, function(match, matchKey, matchValue) {
 if (!arr[matchKey]) {
 arr[matchKey] = matchValue;
 } else {
 var temp = arr[matchKey];
 arr[matchKey] = [].concat(temp, matchValue);
 }
 });
 if (!key) {
 return arr;
 } else {
 for (ele in arr) {
 if (ele = key) {
 return arr[ele];
 }
 }
 return '';
 }
}

8、驗證郵箱

function isEmail(email) {
 var regx = /^([a-zA-Z0-9_\-])+@([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-])+$/;
 return regx.test(email);
}

9、驗證身份證號碼

身份證號碼可能為15位或18位,15位為全數(shù)字,18位中前17位為數(shù)字,最后一位為數(shù)字或者X

function isCardNo(number) {
 var regx = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
 return regx.test(number);
}

10、匹配漢字

var regx = /^[\u4e00-\u9fa5]{0,}$/;

11、去除首尾的'/'

var str = '/asdf//';
str = str.replace(/^\/*|\/*$/g, '');

12、判斷日期格式是否符合 '2017-05-11'的形式,簡單判斷,只判斷格式

var regx = /^\d{4}\-\d{1,2}\-\d{1,2}$/

13、判斷日期格式是否符合 '2017-05-11'的形式,嚴格判斷(比較復(fù)雜)

var regx = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;

14、IPv4地址正則

var regx = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;

15、十六進制顏色正則

var regx = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;

16、車牌號正則

var regx = /^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領(lǐng)A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學(xué)警港澳]{1}$/;

17、過濾HTML標簽

var str="<p>dasdsa</p>nice <br> test</br>"
var regx = /<[^<>]+>/g;
str = str.replace(regx, '');

18、密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數(shù)字,1個特殊字符

var regx = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;

19、URL正則

var regx = /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;

20、匹配浮點數(shù)

var regx = /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/;

21、<OPTION value="待處理">待處理</OPTION>

寫一個正則表達式,匹配 "<OPTION value="待處理">"

var str = '<OPTION value="待處理">待處理</OPTION>';
var regx = /^<.*?>/;
var resiult = regx.exec(str)[0];

最后推薦一個練習正則的網(wǎng)站 regulex%7B2%7D%5Cd%7B4%7D%26),可以查看正則匹配的走向

如果喜歡請關(guān)注我的Github,給個Star吧,我會定期分享一些JS中的知識,^_^

相關(guān)推薦:

五道典型的javascript面試題

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

面試中會遇到的正則題

面試中會遇到的正則題:正則表達式,有木有人像我一樣,學(xué)了不知道多少遍,學(xué)的時候看起來都懂了,過一段時間就又忘的差不多了,等真正要用到的時候,還是一臉懵逼。說到底還是練習的不夠多,一直處于只看不做的程度上。所以搜集了這些正則習題,來保證溫故而知新。建議讀者看完題目
推薦度:
標簽: 面試 題目 的題目
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top