1. \d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分別是什么?
- \d:表示匹配0-9之間的任一數(shù)字,相當于[0-9]
- \w:表示匹配任意的字母、數(shù)字和下劃線,相當于[A-Za-z0-9_]
- \s:表示匹配空格(包括制表符、空格符、斷行符等),相等于[\t\r\n\v\f]
- [a-zA-Z0-9]:相當于\w,表示匹配任意的字母、數(shù)字和下劃線
- \b:表示匹配詞的邊界
- . :表示匹配除回車(\r)、換行(\n) 、行分隔符(\u2028)和段分隔符(\u2029)以外的所有字符
- *:表示星號表示某個模式出現(xiàn)0次或多次,等同于{0,}
- +:表示加號表示某個模式出現(xiàn)1次或多次,等同于{1,}
- ?:問號表示某個模式出現(xiàn)0次或1次,等同于{0, 1}
- x{3}:表示查找符合x出現(xiàn)三次以上的元素
- ^$:匹配空字符串(連一個空格也沒有的)
2. 寫一個函數(shù)trim(str),去除字符串兩邊的空白字符
// ------------去除周圍空格-------------
var str = ' adadadaada '
function trim(str){
var newStr = str
var reg = /(^\s*)|(\s*$)/g
return newStr.replace(reg,'')
}
trim(str)
console.log(trim(str))
3.寫一個函數(shù)isEmail(str),判斷用戶輸入的是不是郵箱
// ---------檢測郵箱-----------------
var str = '793437229@qq.com'
function isEmail(str){
var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
return reg.test(str)
}
console.log(isEmail(str))
4.寫一個函數(shù)判斷用戶輸入的是不是手機號碼
// ---------判斷電話號碼---------------
var phoneNumber = '13700456833'
function isPhoneNumber(phoneNumber){
var reg = /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/
return reg.test(phoneNumber)
}
console.log(isPhoneNumber(phoneNumber))
5. 寫一個函數(shù),判斷用戶輸入的是不是合法的用戶名(長度6-20個字符,只能包括字母、數(shù)字、下劃線)
// ----------測試用戶名-----------------
var userName = '123456'
function isValidUserName(str){
var reg = /^\w{6,20}$/
return reg.test(str)
}
console.log(isValidUserName(userName))
6.寫一個函數(shù)判斷用戶輸入的是不是密碼
// ----------測試密碼-----------------
var pasword = 'ye124zhu'
function isPasword(str){
var reg = /^\w{6,20}$/
var allUppercase = /^[A-Z]{6,20}$/
var allLowercase = /^[a-z]{6,20}$/
var allNumber = /^\d{6,20}$/
var allUnderline = /^_{6,20}$/
if(!reg.test(str)){
return false
}else if(allUppercase.test(str)){
return false
}else if( allLowercase.test(str)){
return false
}else if(allNumber.test(str)){
return false
}else if(allUnderline.test(str)){
return false
}else{
return true
}
}
console.log(isPasword(pasword))
7. 寫一個正則表達式,得到如下字符串里所有的顏色
// ---------篩選顏色數(shù)值---------------
var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "
function colorReg(color){
var reg = /#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})(?=;)/g
return color.match(reg)
}
colorReg(subj)
8. 求平方
// ---------替換平方-----------------
var str = '3的平方是9,9的平方是81'
str = str.replace(/\d+/g,function(num){
return parseInt(Math.pow(num,2))
})
9.讓其輸出['hunger', 'world'].
//原寫法
var str = 'hello "hunger" , hello "world"';
var pat = /".*"/g;
str.match(pat);
//現(xiàn)在的寫法 將貪婪模式 改為 非貪婪模式
var str = ' hello "hunger" , hello "world" ';
var pat = /".*?"/g;
str.match(pat); //["hunger", "world"]
最后編輯于 :
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。