正则 简而言之就是描述一个事件的规则
设置规则,来完成我们需求的一些操作。
定义
var reg=new RegExp(字符串规则,字符串选项); var reg=/规则/选项;
选项
1 i ignore--执行忽略大小写的匹配 2 g gloal--执行全局匹配(可以查看所有的匹配而不是只找到第一个匹配后就停止) 3 m mutil-line--执行多行匹配
转义: \
\w word 单词 [a-zA-Z0-9_]\s space 空白\D 非数字 [^0-9]\W 非单词 [^a-zA-Z0-9_]\S 非空白. 任意东西\. 点本身\\ 斜杠本身```量词:规定了几个{n} 正好几个 /\d{2}/ /\d{475}/ /\d{2}|\d{3}/{n,m} 最少n个,最多m个 /\d{1,2}/ /\d{2,500}/ /\d{0,1}/ -> 可有可无{n,} 最少n个,最多不限 /\d{2,}/ /\d{1,}/ 若干 /\d{0,}/ {,m} 最少不限,最多m个 ×? {0,1} 可有可无 /\d{0,1}/ /\d?/+ {1,} 若干 /\d{1,}/ /\d+/* {0,} 可以没有,有了也不限 /\d{0,}/ /\d*/```* 量词,默认只管前面一位方括号: []修饰: ^ 开始 $ 结尾 \b boundary 边界 [abc] 任意一个 /a|b|c/ [0-9] 区间 [^abc] 排除 /^a/ -> 以字母a开头的东西 /[^a]/ -> 排除字母a /^[a-z]/ -> 以小写字母开头 /^[^a-z]/ -> 以非小写字母开头 test() 在字符串中查找符合正则的内容,若查找到返回true,反之返回false. ^ $ 优先级比 | 要高 校验年龄 0-100 var reg=/^([1-9]?\d|100)$/; reg.test('22'); // true search() 在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不 只是一个字母,那只会返回第一个字母的位置), 如果搜索失败就返回 -1; 首个数字出现的位置 var reg=/\d/; 'aa1fsff'.search(reg) // 1 match() 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组, 失败就返回null var reg=/\d+/img; 'sssa1122s2s4'.match(reg) // ['1122','2','4'] replace 查找符合正则的字符串,就替换成对应的字符串,返回替换后的内容。 传入function(s,$1,$2..$99){}时,代表所有符合条件的选项,$1 ..$99 我的理解就是()中的内容。。。。
function trim(str){ var re = /^\s+|\s+$/g; return str.replace(re,''); } 只能输入数字 var oTxt=docuemnt.querySelector('#txt'); oTxt.oninput=function(){ oTxt.value=oTxt.value.replace(/\D/g,''); }``` var str='在匹配成功时,会将子表达式匹配到的内容,保存到内存中一个以数字编号的组里,可以简单的认为是对一个局部变量进行了赋值,这时就可以通过反向引用方式,引用这个局部变量的值。';
str.replace(reg,function(s){ var tmp=''; for(var i=0; i< s.length; i++){ tmp+='*'; } return tmp;});str.replace(reg,function(s){ return s.replace(/./g,'*');})```
var str='apple babab'; str=str.replace(/\b(\w{1})(\w+)?\b/gi,function(s,$1,$2){ return $1.toUpperCase()+$2 });```
'onclick onmouseover onmouseout'.replace(/\w+/g,function(sEv){ oDiv[sEv]=function(){ do something; };});```
function hasClass(obj,sClass){ var reg=new RegExp('\\b'+sClass+'\\b'); return reg.test(obj.className); }```
function getQueryObject(url) { url = url == null ? window.location.href : url; var search = url.substring(url.lastIndexOf("?") + 1); var obj = {}; var reg = /([^?&=]+)=([^?&=]*)/g; search.replace(reg, function (rs, $1, $2) { var name = decodeURIComponent($1); var val = decodeURIComponent($2); val = String(val); obj[name] = val; return rs; }); return obj;}```