1. \d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?
- \d:表示匹配0-9之间的任一数字,相当于[0-9]
- \w:表示匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]
- \s:表示匹配空格(包括制表符、空格符、断行符等),相等于[\t\r\n\v\f]
- [a-zA-Z0-9]:相当于\w,表示匹配任意的字母、数字和下划线
- \b:表示匹配词的边界
- . :表示匹配除回车(\r)、换行(\n) 、行分隔符(\u2028)和段分隔符(\u2029)以外的所有字符
- *:表示星号表示某个模式出现0次或多次,等同于{0,}
- +:表示加号表示某个模式出现1次或多次,等同于{1,}
- ?:问号表示某个模式出现0次或1次,等同于{0, 1}
- x{3}:表示查找符合x出现三次以上的元素
- ^$:匹配空字符串(连一个空格也没有的)
2. 写一个函数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.写一个函数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.写一个函数判断用户输入的是不是手机号码
// ---------判断电话号码---------------
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. 写一个函数,判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)
// ----------测试用户名-----------------
var userName = '123456'
function isValidUserName(str){
var reg = /^\w{6,20}$/
return reg.test(str)
}
console.log(isValidUserName(userName))
6.写一个函数判断用户输入的是不是密码
// ----------测试密码-----------------
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. 写一个正则表达式,得到如下字符串里所有的颜色
// ---------筛选颜色数值---------------
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);
//现在的写法 将贪婪模式 改为 非贪婪模式
var str = ' hello "hunger" , hello "world" ';
var pat = /".*?"/g;
str.match(pat); //["hunger", "world"]
网友评论