10、正则
编写一条规则,用来验证6-16位的字符串,必须同时包含有大写字母小写字母字符串和数字
正向预查:要匹配的字符串必须满足这个条件
负向预查:要匹配的字符串必须不符合这个条件
//要求cainiao8才能匹配过,以下正则只有cainiao8才符合条件,但是设置的条件是不参与捕获结果的
var reg = /cainiao(?=8)/
//指的是 smileyqp后面必须是yyyy才符合条件,但是yyyy不参与捕获的结果
var reg1 = /smileyqp(?=yyyy)/
var reg = /(?=^)d{2}(?=$)/ //正向预查,两位数组d{2}左边必须是开头,右边必须是结尾
var reg1 = /^d{2}$/ //和上面作用一样
var reg = /^[a-zA-Z0-9]{6,16}$/ //当前字符串只能是用数字字母开头6-16位
var reg1 = /^(?!^[a-z]+$)[a-zA-Z0-9]{6,16}$/ //(?!^[a-z]+$)不能都是纯小写字母
var reg2 = /^(?!^[a-z]+$)(?!^[A-Z]+$)(?!^[0-9]+$)[a-zA-Z0-9]{6,16}$/ //(?!^[A-Z]+$)不能都是纯大写字母;(?!^[0-9]+$)不能都是数字
var reg3 = /^(?![a-z]+$)(?![A-Z]+$)(?![0-9]+$)[a-zA-Z0-9]{6,16}$/ //由于外面已经有了,那么可以省略
var reg4 = /(?!^[a-zA-Z]+$)(?!^[A-Z0-9]+$)(?!^[a-z0-9]+$)(?!^[0-9]+$)^[a-zA-Z0-9]{6,16}$/
reg3.test('2235jd3')
//写出1-10位数字字母下划线组成的字符串,其中必须有下划线
let reg = /(?!^[a-zA-Z0-9]+$)^\w{1,10}/; //?= 表示必须; ?!表示不能只是
//字符串中包含数字字母下划线,并且必须含有下划线。\w表示数字字母下划线
let reg = /^(?!=_)\w$/
//英文字母汉字组成的字符串,给英文单词前后加空格
let str = 'check作业要仔细的check,no说说',
reg = /\b[a-z]+\b/ig;
str.replace(reg,value=>{
return ' '+value+' ';
}).trim(); //trim去掉字符串首位空格;trimLeft去除左边空格;trimRight去除右边空格