js——正则表达式

时间:2022-07-26 19:46:17

1. 创建一个正则表达式

var patt=new RegExp(pattern,modifiers);
var patt=/pattern/modifiers;

2. 密码判断,是否同时包含数字、字母、指定的特殊字符

function checkPwd(str){
if(str.search(/[a-z]/gi) == -1)//是否包含字母,不区分大小写
return false;
if(str.search(/[0-9]/g) == -1)//是否包含数字
return false;
if(str.search(/[~!@#$]/g) == -1)//是否包含给定字符
return false;
return true;
}
var result = checkPwd("abc");//false
result = checkPwd("123");//false
result = checkPwd("!1A");//true

3. 敏感词替换成**

function disSensitivity(str){
var senWords = ['123', 'abc'];//定义敏感词数组
//对每个词处理
senWords.forEach(function(word){
//不能直接用 /word/g 正则表达式
var reg = new RegExp(word, 'g');
str
= str.replace(reg, "**");
});
return str;
}
var str = "aaa123000abc";
str
= disSensitivity(str);//"aaa**000**"

4. 删除串中的空白字符

//删除所有空白字符
function myTrim(str){
str
= str.match(/\S+/g).join('');//匹配非空白字符得到数组
return str;
}
var str = " 12 ab ";
str
= myTrim(str);//"12ab"

//删除左侧的空白字符
function leftTrim(str){
str
= str.replace(/^\s+/g, '');//^匹配串的开头
return str;
}
str
= " 12 ab ";
str
= leftTrim(str);//"12 ab "

//删除右侧的空白字符
function rightTrim(str){
str
= str.replace(/\s+$/g, '');//$匹配串的开头
return str;
}
str
= " 12 ab ";
str
= rightTrim(str);//" 12 ab"