简单的正则表达式匹配

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))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值