JavaScript的正则表达式(二)
来源:互联网 发布:产品样本设计软件 编辑:程序博客网 时间:2024/06/08 16:41
字符类:一组相似的元素 [ ]括号的整体代表一个整体
//[] 代表的只是一个字符var str = "abc";var re = /a[bcd]c/;alert(re.test(str)); //truevar str = "abcc";var re = /a[bcd]c/;alert(re.test(str)); //false
排除:^ 如果^写在[ ]里面的话,就代表排除的意思,类似于JavaScript中!(取反)的意思
var str = "adef"; //字符串中的第二个字符是:dvar re = /a[^ascde]ef/; //正则中第二个字符是:[^ascde]//如果字符串中的第二个字符,在[^ascde]中没有对应的字符,就匹配,返回true,反之返回falsealert(re.test(str)); //false
范围:[a-z]意思就是字母从a到z,一定是从小到大的,[a-z0-9A-Z]:代表一位 [a-z0-9A-Z]+:代表多位
\1 :重复的第一个子项
\2 :重复的第二个子项
var str = "abca";var re = /(a)(b)(c)\1/; //\1代表和第一个子项重复alert(re.test(str)); //true
var re = /\w\w/ ; 这两个字符可以不相同,例如可以是:d9,d7,ww
var re= /(\w)\1/ ; 这种情况的时候,必须是两个相同的字符,例如:dd,qq
用到重复子项的实例:
var str = "zzhsdhioadhkandahdiasdnadnivdfkjinwkefiwepifpoerioueroi";var arr = str.split('');str = arr.sort().join('');var re = /(\w)\1+/g;var number = 0;var value = "";str.replace(re,function($0,$1){//alert($0);if(number<$0.length){number = $0.length;value = $1;}});alert('出现最多的字符是'+value+',出现的次数是:'+number);
量词:{ }{1,7} :最少出现1次,最多出现7次
{1,}:最少出现1次
{1}:正好出现一次,不能多也不能少
+ :{1,} 都是至少出现一次 /\d+/ = /\d{1,}/
?:{0,1}出现0次或者1次
*:{0,}至少出现一次
^:正则的最开始位置,就代表起始的意思
$:正则的最末尾的位置,就代表结束的意思
判断输入的是不是qq号:
var aInput = document.getElementsByTagName('input');var re = /^[1-9]\d{4,11}$/aInput[1].onclick = function(){if(re.test(aInput[0].value)){alert('是qq号');}else{alert('不是qq号');}}
去掉字符串前后的空格var str = " hello ";alert('('+item(str)+')');function item(str){var re = /^\s+|\s+$/greturn str.replace(re,'');}
正则中 . :代表任意字符
\. :代表真正的点
//案例一var str = "abd";var re = /a.d/; //.可以代表任意字符alert(re.test(str)); //true//案例二var str = "a密d";var re = /a.d/;alert(re.test(str)); //true//案例三 var str = "abd";var re = /a\.d/;alert(re.test(str)); //false//案例四var str = "a.d";var re = /a\.d/;alert(re.test(str)); //true
\B :非独立部分
var str = "onetwo"; var re = /\bone/; //代表起始的位置alert(re.test(str)); //truevar str = "onetwo";var re = /\bo\b/;alert(re.test(str)) //falsevar str = "o";var re = /\bo\b/;alert(re.test(str)) //true
用正则写getClass的方法,
<ul><li class="one">123122</li><li>1133114</li><li class="one two">47885555111</li><li class="onetwo">112555</li><li class="one">22255</li></ul>
var aLi = getClassName(document,'one');for(var i=0;i<aLi.length;i++){aLi[i].style.background = "red";}function getClassName(parent,sClass){var arr = [];var aEle = parent.getElementsByTagName('li');//var re = //; //当正则需要传参数的时候,需要用全称写法var re = new RegExp('\\b'+sClass+'\\b'); // 输出特殊字符时,需要加 \for(var i=0;i<aEle.length;i++){ if(re.test(aEle[i].className)){arr.push(aEle[i]);}}console.log(arr);return arr;}
理解\b和\Bvar str = "onetwo"; var re = /\bone/; //代表起始的位置alert(re.test(str)); //truevar str = "onetwo";var re = /\bo\b/;alert(re.test(str)) //falsevar str = "o";var re = /\bo\b/;alert(re.test(str)) //true
阅读全文
0 0
- JavaScript的正则表达式(二)
- javascript正则表达式<二>
- javascript正则表达式之小结(二)
- 牛腩javascript(二)之正则表达式
- 详解JavaScript正则表达式(二)
- JavaScript中的正则表达式(二)
- 浅谈JavaScript<二正则表达式>
- javascript正则表达式---(String)提供的正则表达式方法
- JavaScript 的正则表达式
- JAVASCRIPT的正则表达式
- javascript的正则表达式
- javascript的正则表达式
- javascript的正则表达式
- JavaScript的正则表达式
- JavaScript的正则表达式
- Javascript的正则表达式
- javascript的正则表达式
- javascript的正则表达式
- IOS常用框架
- 动态规划(一)入门例子
- kaggle竞赛——Titanic:Machine Learning from Disaster
- MOOC清华《程序设计基础》第5章:N皇后问题(带矩阵输出)
- waiting for headers 等待时间过久
- JavaScript的正则表达式(二)
- 剖析tinyhttp源码
- Sa总结
- Java中的线程Thread方法之---interrupt()
- 洛谷P1000 超级玛丽游戏
- Ubuntu16.04+python2.7+Selenium3.4.3学习笔记
- hive使用mysql作为元数据库启动报错分析
- Precision和Recall
- 怎样判断安装的mysql是社区版还是企业版