\d边翁,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分別是什么?
\d
代表數(shù)字字符奴艾,等同于[0-9]
\w
代表單詞字符亿笤,字母翎迁、數(shù)字及下劃線,等同于[0-9a-zA-Z_]
\s
代表空白符责嚷,等同于[\t\n\x0B\f\r]
[a-zA-Z0-9]
代表所有大小寫字母及數(shù)字鸳兽,即'abcdefg...xyzABCDEFG...XYZ0123456789'
\b
代表單詞的邊界
.
代表除了回車符和換行符之外的所有字符
*
出現(xiàn)零次或多次(任意次)
+
出現(xiàn)一次或多次(至少出現(xiàn)一次)
?
出現(xiàn)零次或一次(最多出現(xiàn)一次)
x{3}
字符x
重復(fù)3次
^
以某個(gè)字符開(kāi)頭
$
以某個(gè)字符結(jié)尾
寫一個(gè)函數(shù)trim(str),去除字符串兩邊的空白字符
function trim(str) {
return str.replace(/^\s+ | \s+$/g, '');
}
寫一個(gè)函數(shù)isEmail(str)罕拂,判斷用戶輸入的是不是郵箱
function isEmail(str) {
var reg = /^\w+@\w+\.[a-z]+$/;
return reg.test(str);
}
寫一個(gè)函數(shù)isPhoneNum(str),判斷用戶輸入的是不是手機(jī)號(hào)
function isPhoneNum(str) {
var reg = /^1[3578]\d{9}$/;
return reg.test(str);
}
寫一個(gè)函數(shù)isValidUsername(str)全陨,判斷用戶輸入的是不是合法的用戶名(長(zhǎng)度6-20個(gè)字符爆班,只能包括字母、數(shù)字辱姨、下劃線)
function isValidUsername(str) {
var reg = /\w{6,20}/;
return reg.test(str);
}
寫一個(gè)函數(shù)isValidPassword(str), 判斷用戶輸入的是不是合法密碼(長(zhǎng)度6-20個(gè)字符柿菩,只包括大寫字母、小寫字母雨涛、數(shù)字枢舶、下劃線,且至少至少包括兩種)
function isValidPassword(str) {
if(!/^\w{6,20}$/.test(str)) return false;
if(/^[a-z]{6,20}$/.test(str)) return false;
if(/^[A-Z]{6,20}$/.test(str)) return false;
if(/^\d{6,20}$/.test(str)) return false;
if(/^_{6,20}$/.test(str)) return false;
else return true;
}
寫一個(gè)正則表達(dá)式替久,得到如下字符串里所有的顏色
var re = /#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})\b/g;
var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "
console.log( subj.match(re) ) // ['#121212', '#AA00ef']
下面代碼輸出什么? 為什么? 改寫代碼凉泄,讓其輸出[""hunger"", ""world""].
var str = 'hello "hunger" , hello "world"';
var pat = /".*"/g;
str.match(pat);
/* 代碼輸出的是[""hunger" , hello "world""],
因?yàn)?. 匹配的是除了換行和回車外的所有字符蚯根,而 * 的意思是重復(fù)零次或多次后众,
所以這個(gè)正則表達(dá)式的 .* 會(huì)將字符串"hunger" , hello "world"中hunger右邊的雙引號(hào)、world左邊的雙引號(hào)、逗號(hào)蒂誉、空格都匹配教藻,
而正則表達(dá)式里的標(biāo)記開(kāi)始和結(jié)束的雙引號(hào)只能匹配到hunger左邊的和world右邊的,所以輸出結(jié)果是[""hunger" , hello "world""]右锨。 */
// 改寫
var str = 'hello "hunger" , hello "world"';
var pat = /"\w*"/g;
str.match(pat);
// 或
var str = 'hello "hunger" , hello "world"';
var pat = /"[^"\s]*"/g;
str.match(pat);
最后編輯于 :2017.12.10 03:43:56
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者