1.\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分別是什么?
- \d:匹配數(shù)字
- \w:匹配字母或數(shù)字或下劃線或漢字
- \s:匹配任意的空白符
- [a-zA-Z0-9]:匹配任意小寫字母a-z大寫字母A-Z 數(shù)字0-9之間
- \b:匹配單詞的開始或者結(jié)束
- .:匹配除換行符以外的任意字符
- *:重復(fù)零次或者多次
- +:重復(fù)一次或者多次
- ?:重復(fù)零次或者一次
- x{3} :表示x出現(xiàn)3次
- ^:匹配字符串的開始
- $:匹配字符串的結(jié)束
2. 寫一個(gè)函數(shù)trim(str)毙籽,去除字符串兩邊的空白字符
function trim(str){
return str.replace(/^\s+|\s+/g,'');
}
var ret = trim(' hello ');
console.log(ret);
3. 寫一個(gè)函數(shù)isEmail(str)呻此,判斷用戶輸入的是不是郵箱
function isEmail(str){
var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
return reg.test(str)
}
var ret = isEmail('qwe123@qq.com');
console.log(ret);
4.寫一個(gè)函數(shù)isPhoneNum(str)塘雳,判斷用戶輸入的是不是手機(jī)號(hào)
function isPhoneNum(str){
var reg=/^1\d{10}$/;
return reg.test(str)
}
var ret = isEmail('18593048793');
console.log(ret);
5.寫一個(gè)函數(shù)isValidUsername(str)骤星,判斷用戶輸入的是不是合法的用戶名(長(zhǎng)度6-20個(gè)字符吃沪,只能包括字母跃巡、數(shù)字危号、下劃線)
function isValidUsername(str){
var reg=/^\w{6,20}$/;
return reg.test(str)
}
6.寫一個(gè)函數(shù)isValidPassword(str), 判斷用戶輸入的是不是合法密碼(長(zhǎng)度6-20個(gè)字符,只包括大寫字母素邪、小寫字母外莲、數(shù)字、下劃線兔朦,且至少至少包括兩種)
function isValidPassword(str){
if( !/^\w{6,20}$/.test(str) ) return false
if(/^\d{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(/^_{6,20}$/.test(str)) return false
return true
}
7. 寫一個(gè)正則表達(dá)式偷线,得到如下字符串里所有的顏色
var re = /#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})(?=;)/g
var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "
console.log( subj.match(re) )
8.下面代碼輸出什么? 為什么? 改寫代碼,讓其輸出[""hunger"", ""world""].
var str = 'hello "hunger" , hello "world"';
var pat = /".*?"/g;
console.log(str.match(pat));
【個(gè)人總結(jié)沽甥,如有錯(cuò)漏声邦,歡迎指出】
:>