面試中會遇到的正則題

2021-09-01 12:28:05 字數 3114 閱讀 6154

1、var s1 = "get-element-by-id"; 給定這樣乙個連字串,寫乙個function轉換為駝峰命名法形式的字串 getelementbyid

var f = function(s) )

}

2、判斷字串是否包含數字

function containsnumber(str)
3、判斷**號碼

function isphone(tel) $/;

return regx.test(tel);

}

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

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

***-***-***x

其中x為number型別

function matchespattern(str) -)\d&/.test(str);

}

5、判斷是否符合usd格式

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

以 $ 開始

整數部分,從個位起,滿 3 個數字用 , 分隔

如果為小數,則小數部分長度為 2

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

function isusd(str) (,\d)*(\.\d)?$/;

return regx.test(str);

}

6、js實現千位分隔符

function format(number) (?=(\d)+$)/g;

return (number + '').replace(regx, '$&,') // $&表示與regx相匹配的字串

}

7、獲取 url 引數

獲取 url 中的引數

指定引數名稱,返回該引數的值 或者 空字串

不指定引數名稱,返回全部的引數物件 或者 {}

如果存在多個同名引數,則返回陣列

function geturlparam(url, key) ;

url.replace(/\??(\w+)=(\w+)&?/g, function(match, matchkey, matchvalue) else

});if (!key) else

}return '';

}}

8、驗證郵箱

function isemail(email)
9、驗證身份證號碼

身份證號碼可能為15位或18位,15位為全數字,18位中前17位為數字,最後一位為數字或者x

function iscardno(number) $)|(^\d$)|(^\d(\d|x|x)$)/;

return regx.test(number);

}

10、匹配漢字

var regx = /^[\u4e00-\u9fa5]$/;
11、去除首尾的'/'

var str = '/asdf//';

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

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

var regx = /^\d\-\d\-\d$/
13、判斷日期格式是否符合 '2017-05-11'的形式,嚴格判斷(比較複雜)

var regx = /^(?:(?!0000)[0-9]-(?:(?: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](?: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]?)\.)(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
15、十六進製制顏色正則

var regx = /^#?([a-fa-f0-9]|[a-fa-f0-9])$/;
16、車牌號正則

var regx = /^[京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊使領a-z][a-z][a-z0-9][a-z0-9掛學警港澳]$/;
17、過濾html標籤

var str="dasdsa

nice

test

"var regx = /<[^<>]+>/g;

str = str.replace(regx, '');

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

var regx = /^.*(?=.)(?=.*\d)(?=.*[a-z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
19、url正則

var regx = /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.])([\/\w \.-]*)*\/?$/;
20、匹配浮點數

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

寫乙個正規表示式,匹配 ""

var str = '待處理';

var regx = /^<.*?>/;

var resiult = regx.exec(str)[0];

【it部落格技術分享群①】:

面試 面試中遇到的演算法題

概念平面內兩條線段位置關係的判定在很多領域都有著廣泛的應用,比如遊戲 cad 圖形處理等,而兩線段交點的求解又是該演算法中重要的一環。本文將盡可能用通俗的語言詳細的描述一種主流且效能較高的判定演算法。為方便計算,對座標點的大小比較作如下定義 x座標較大的點為大,x座標相等但y座標較大的為大,x與y都...

面試遇到的演算法題1

1.兩個整數求和 string a 893333.3333 string b 349.999 求 a b 由於數字太長,只能存在string 裡,不能整體轉成int long來加,只能一位一位的轉成int來加,注意進製。用乙個for迴圈按每一位做加法,最後輸出到乙個string裡。如何將char型別...

面試中遇到的那些程式設計題

if typeof string.prototype.countcharacters function len this.length for i 0 i len i else var max key,max num 0 for var key in obj return 測試 var str ab...