題目1: \d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分別是什么?
\d: 等價于[0~9],數字字符;
\w: 等價于[azA Z_0~9],單詞字符,字母、數字下劃線;
\s: 等價于[\t\n\x0B\f\r],空白字符;
[a-zA-Z0-9]: 表示字母a到z,A到Z,數字0到9;
\b:單詞邊界;
. : 表示除了回車和換行之外的所有字符;
*:出現零次或多次(任意次);
+:出現一次或多次(至少出現一次);
?:出現零次或一次(最多出現一次);
x{3}:表示x出現3次;
^:以xxx開頭;
$:以xxx結尾;
題目2: 寫一個函數trim(str),去除字符串兩邊的空白字符
function trim(str){
return str.replace(/^\s+|\s+$/g, "");
}
題目3: 寫一個函數isEmail(str),判斷用戶輸入的是不是郵箱
function isEmail(str){
var email =(/^[A-Za-zd]+[A-za-zd._-]*@([A-Za-zd]+.[A-Za-zd._-]+/).test(str);
return email;
}
題目4: 寫一個函數isPhoneNum(str),判斷用戶輸入的是不是手機號
function isPhoneNum(str){
var Num =(/^1[34578]\d{9}$/) .test(str);
return Num;
}
題目5: 寫一個函數isValidUsername(str),判斷用戶輸入的是不是合法的用戶名(長度6-20個字符,只能包括字母、數字、下劃線)
function isValidUsername(str){
var valid =(/^w\{6,20}$/).test( str);
return valid;
}
題目6: 寫一個函數isValidPassword(str), 判斷用戶輸入的是不是合法密碼(長度6-20個字符,只包括大寫字母、小寫字母、數字、下劃線,且至少至少包括兩種)
function isValidPassword(str){
if((/^[a-zA-Z0-9_]{6,20}$/).test(str)){
if ((/^[A-Z]+$/).test(str)||(/^[a-z]+$/).test(str)||(/^[0-9]+$/).test(str)||(/^_+$/).test(str)){
return "密碼太簡單";
}
else{
return "輸入合法";
}
}
else{
return "請輸入6-20位密碼";
}
}
題目7: 寫一個正則表達式,得到如下字符串里所有的顏色
var re = /#[\dA-Fa-f]{6}/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;
str.match(pat);//輸出[""hunger" , hello "world""],因為'.'表示除了回車符之外的所有字符'*'又表示出現一次或多次。
var pat = /".*?"/g;//非貪婪模式可以輸出[""hunger"", ""world""]
最后編輯于 :2017.12.11 07:29:36
?著作權歸作者所有,轉載或內容合作請聯系作者 平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。