<!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>