要求:检测某字符串是否符合只可以由 ‘数字英文横杠’ 两种或两种以上组成。
网上有很多类似的组成表达式,但是很长而且对新手不友好。所以我发下初学正则表达式的时候的例子。大家可以参考下。
function Decide(string){
// 第一步,排除输入字符串中含有组合限制以外的类型
if(/[^0-9a-z-]/.test(string)){
return console.log('输入密码仅限于数字字母横杠中三种组合的两种')
}
// 第二步,统计输入字符串中含有组合的类型情况次数
var num = 0
var RegExp = [/\d/g,/[a-zA-Z]/g,/[-]/g]
for (let regExp of RegExp) {
if(string.search(regExp) === -1){
console.log(regExp)
num ++;
}
}
if(num>=2){
return console.log('密码需要是数字字母横杠中三种组合的两种')
}
console.log('输入正确')
}
这个函数主要是为了新手简单使用,不是包着极简优化的思想。欢迎大家留言反馈。