題目1: \d仇穗,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分別是什么?
- \d
表示一個(gè)數(shù)字字符坚冀。 - \w
表示一個(gè)單詞字符,包括字母导狡,數(shù)字约巷,下劃線。 - \s
表示一個(gè)空白符旱捧。
包括:
空格符 (space character)
制表符 (tab character)
回車符 (carriage return character)
換行符 (new line character)
垂直換行符 (vertical tab character)
換頁符 (form feed character)
相當(dāng)于[\t\n\x0B\f\r] - [a-zA-Z0-9]
表示一個(gè)大小寫字母或數(shù)字独郎。 - \b
表示一個(gè)單詞邊界踩麦。 - .
表示一個(gè)任意字符。
表示出現(xiàn)零次或多次(任意次)氓癌。
表示出現(xiàn)一次或多次(至少一次)谓谦。
- ?
表示出現(xiàn)零次或一次(最多一次)贪婉。 - x{3}
表示x出現(xiàn)三次反粥。 - ^
表示以xxxxxx為開頭。 - $
表示以xxxxxx為結(jié)尾疲迂。
題目2: 寫一個(gè)函數(shù)trim(str)才顿,去除字符串兩邊的空白字符
function trim(str){
return str.replace(/^\s+|\s+$/g,"");
}
console.log(trim(" dsgrgercf "));
題目3: 寫一個(gè)函數(shù)isEmail(str),判斷用戶輸入的是不是郵箱
function isEmail(str){
return /^[\w.-]+@[\w.-]+$/.test(str);
}
console.log(isEmail("franky_feiyu@126.com"));
題目4: 寫一個(gè)函數(shù)isPhoneNum(str)尤蒿,判斷用戶輸入的是不是手機(jī)號(hào)
function isPhoneNum(str){
return /^(\+86-)?1[356789]\d{9}$/.test(str);
}
console.log(isPhoneNum("+86-13345678908"));
題目5: 寫一個(gè)函數(shù)isValidUsername(str)郑气,判斷用戶輸入的是不是合法的用戶名(長(zhǎng)度6-20個(gè)字符,只能包括字母腰池、數(shù)字竣贪、下劃線)
function isValidUsername(str){
return /^\w{6,20}$/.test(str);
}
console.log(isValidUsername("franky_feiyu"));
題目6: 寫一個(gè)函數(shù)isValidPassword(str), 判斷用戶輸入的是不是合法密碼(長(zhǎng)度6-20個(gè)字符,只包括大寫字母巩螃、小寫字母、數(shù)字匕争、下劃線避乏,且至少至少包括兩種)
function isValidPassword(str){
if(str.length<6 || str.length>20 || /\W/.test(str)==true){
return false;
}
if(/^[0-9]+$/.test(str)==true) return false;
if(/^[a-z]+$/.test(str)==true) return false;
if(/^[A-Z]+$/.test(str)==true) return false;
if(/^_+$/.test(str)==true) return false;
return true;
}
console.log(isValidPassword("qwer1234_a"));
題目7: 寫一個(gè)正則表達(dá)式,得到如下字符串里所有的顏色
var re = /#[0-9a-fA-F]{6}/g;
var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee ";
console.log(subj.match(re)); // ['#121212', '#AA00ef']
題目8: 下面代碼輸出什么? 為什么? 改寫代碼甘桑,讓其輸出[""hunger"", ""world""].
var str = 'hello "hunger" , hello "world"';
var pat = /"\w*"/g; //.修改為\w拍皮,避免逗號(hào)被匹配
console.log(str.match(pat));