数据加载中……
js_正则表达式


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="GBK" xml:lang="GBK">
<head>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<title></title>


<script type="text/javascript"> 
function search(str,pattern)
{

     alert(str.search(pattern));
}
function testAA(){
 var s1 = '"abc\'';
 var s2 = '\'abc\'';
 var pattern1 = /['"][^'"]*['"]/;
 var pattern2 = /(['"])[^'"]*\1/;
<!-- alert(s1.search(pattern1));-->
<!-- alert(s1.search(pattern2));-->
<!-- alert(s2.search(pattern1));-->
<!-- alert(s2.search(pattern2));-->
<!-- var s3 = 'JavaScriptscript';-->
<!-- var s4 = 'JavaScriptScript';-->
<!-- var pattern3 = /(Java([sS]cript))\2/;-->
<!-- alert(s3.search(pattern3));-->
<!-- alert(s4.search(pattern3));-->
 var s5 = 'ABCC';
 var pattern4 = /(A)(B)(C)\2/;
 var pattern5 =  /(A)(?:B)(C)\2/;
 alert(s5.search(pattern4));
 alert(s5.search(pattern5));
 
}

function testReplace(){
 var p1 = /ab/;
 var p2 =/ab/g;
 var text = 'abcdefgab';
 
<!-- alert( text.replace(p1,'11'));-->
<!-- alert( text.replace(p2,'11'));-->

 var p3 = /(ab)(cd)/;
 var p4 = /(ab)(cd)/g;
 var t3 = 'abcdabcd';
 alert(t3.replace(p3,'$1'));
 alert(t3.replace(p4,'$1'));
 alert(t3.replace(p3,'$2'));
 alert(t3.replace(p4,'$2'));
}

function testMatch(){
    var s = 'a1b2c3d4';
<!--    var p  =/(\w\d)/;-->
<!--    var a = s.match(p);-->
<!--    alert(a.length);-->
<!--    for(x in a){-->
<!--  alert(a[x]);-->
<!--    }-->
<!--    var p1 = /(\w\d)/g;-->
<!--    var a1 = s.match(p1);-->
<!--    alert(a1.length);-->
<!--    for(x in a1){-->
<!--  alert(a1[x]);-->
<!--    }-->

 var s2 =  '(a1)(b2)(c3)(d4)';
 var p2 =  /(\w\d)/;
    var a2 = s2.match(p2);
    alert(a2.length);
    for(x in a2){
  alert(a2[x]);
    }
}
function testSplit(){
 var s1 = 'a , b , c';
<!-- var a1 = s1.split(',');-->
<!--    alert(a1.length);-->
<!--    for(x in a1){-->
<!--  alert(a1[x]+a1[x].length);-->
<!--    }-->
    var p1 = /\s,\s/; 
 var a2 = s1.split(p1);
    alert(a2.length);
    for(x in a2){
  alert(a2[x]+a2[x].length);
    }
}

function testNewReg(){
 var p = new RegExp('\\d');
 var p1 =  new RegExp('\\d','g');
 var p2 =  new RegExp('^\\d');
 var s = 'a12345';
 alert(s.replace(p,'a'));
 alert(s.replace(p1,'a'));
 alert(s.replace(p2,'a'));
}

function testExec(){
    var p = /Java/g;
    var t = 'JavaScript is more fun than Java!';
    var r;
    while((r=p.exec(t))!=null){
  alert(r.length+'..matched...'+r[0]+'..positon..'+r.index  +'..next..'+p.lastIndex); 
  }
  var p1 = /Java/;
    while((r=p1.exec(t))!=null){
  alert(r.length+'..matched...'+r[0]+'..positon..'+r.index  +'..next..'+p1.lastIndex); 
  }
 
}

function testTest(){
 var p = /java/i;
 alert(p.test('JavaScript'));
 
}
</script>
</head> 

<body>
<form action="">
<a href="#"  onclick="search()">search</a>
<a href="#" onclick="search()">dddd</a>
<input type="button" value="search('124!abc','(abc)')" onclick="search('124!abc','(abc)')"></input>
<input type="button" value="search('124!abc','(abc){2,}')" onclick="search('124!abc','(abc){2,}')"></input>
<input type="button" value="search('aab','a*b')" onclick="search('aab','a*b')"></input>
<input type="button" value="search('aab','a*?b')" onclick="search('aab','a*?b')"></input>
<input type="button" value="test" onclick="testAA()"></input>
<br/>
<input type="button" value="testReplace" onclick="testReplace()"></input>

<input type="button" value="testMatch" onclick="testMatch()"></input>

<input type="button" value="testSplit" onclick="testSplit()"></input>


<input type="button" value="testNewReg" onclick="testNewReg()"></input>

<input type="button" value="testExec" onclick="testExec()"></input>

<input type="button" value="testTest" onclick="testTest()"></input>
</form> 
</body>
</html>

posted on 2009-08-06 17:36 R99 阅读(219) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: