Javascript 正则表达式_4
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"> window.onload = function () { var reg1 = /\d/; var reg2 = /[0-653]/;//表示0-6 然后5和3; var reg3 = /^[1-9][0-4]{4}$/; /* \w 和[a-zA-Z0-9]等价;表示字符 /\d{5}/;连续出现五个数字 --量词的概念: {n} {n1,n2}, +:1到n *:0到n ?:0或者1 \b:边界 三种情况 */ //0-65535; 正则和逻辑关系配合使用比较方便 var reg4 = /^(\d{1,5});?$/;//()表示分组 var str4 = '66535'; console.log(RegExp.$1);//输出分组的第一个数量 if (reg4.test(str4)) { var n = RegExp.$1; if (n >= 0 && n <= 65535) { console.log('OK'); } } //一个正则可以分为若干个小正则 g可以改变lastIndex; var str5 = "www.gurucv.com"; var reg = /\w\w\w/g; var result = null; var arr1 = []; //var arr1 = reg.exec(str5); while (result = reg.exec(str5)) {//会一直的继续往下找 arr1.push(result); } console.log(arr1); var arr2 = []; var result2 = null; var str6 = 'www.gurucv.com'; var reg6 = /www.gurucv.(com|cn)$/;//已com或者cn结尾 console.log(reg6.test(str6)); var reg7 = /www.gurucv.(?:com|cn)$/;//已com或者cn结尾 ?:放在括号内的前面,表示匹配不捕获 /* ?号的几种用法 1.跟在元字符后面表示出现 0或1次 2 ?:表示匹配不捕获 3.等查资料去 */ var reg8 = /(\w)(\w)\2\1/; /* 1 121 1221 12321 123321 */ function fn(str) { var l = Math.floor(str.length / 2); var c = "\d?"; var reg = new RegExp("\\d{" + l + "}" + c + "\\1"); return reg.test(str); } } </script> </head> <body> </body> </html>