1.匹配手机号
11位,第一位是1
/^1\d{10}$/
2.匹配姓名必须是2-6位的中文
/^[\u4E00-\u9FA5]{2,6}$/
3.匹配密码必须是6-12位的字符,只能包含数字、字母、下划线
/^\w{6,12}$/
4.匹配邮箱
xxxxxx@xxxxx.xxxx.xxxx
/^\w+@\w+(.\w+){1,2}$/
5.匹配一个座机号
xxx-xxxxxxxx
/^\d{3,4}-\d{4,8}$/
6.匹配一个正数
/^\d+(\.\d+)?$/
7.匹配一个小数
/^-?\d+\.\d+$/
8.匹配一个整数
/^-?\d+(\.0+)?$/
9.匹配一个字符串,得到匹配的次数,和匹配的结果
var s = 'hel223lwo wo222rld\22tj3332avas2cript\nyes'
var regexp = /\d{3}/g
var n = 0
var str = ''
while ((result = regexp.exec(s))) {
n++
str += '第' + (n - 1) + '个: ' + result[0] + ', '
}
console.log(`匹配了${n}次,匹配的结果: ${str.slice(0, str.length - 2)}`)
10.过滤敏感词,有一个敏感词数组,需要将字符串中出现的敏感词替换为四个星号
var s = 's我的阿萨德的撒的草哦暴力mdmdmdmd wds mdas '
// 敏感词库
var ForbiddenWords = ['暴力', '色情', 'md', '草']
function FilterForbiddenWords(s, rep, forbiddenWords) {
var regexp = new RegExp(`(${forbiddenWords.join('|')})+`, 'g')
return s.replace(regexp, rep)
}
console.log(FilterForbiddenWords(s, '****', ForbiddenWords))
11.判断密码强度
var s = 'Abc@123'
function judgePwd(pwd) {
if (/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#_*.]).{6,12}$/.test(pwd)) {
return '强'
} else if (/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{6,12}$/.test(pwd)) {
return '中'
} else if (
/^(?=.*[a-z])(?=.*[A-Z]).{6,12}$/.test(pwd) ||
/^(?=.*[a-z]).{6,12}$/.test(pwd) ||
/^(?=.*[A-Z]).{6,12}$/.test(pwd)
) {
return '弱'
} else {
return '不满足要求'
}
}
console.log(judgePwd(s))