<script type="text/javascript"> function t1() { var vo = document.getElementsByName('str')[0]; var patt = /hi/i; alert(patt.test(vo.value)); } function t2() { var vo = document.getElementsByName('str')[0]; var patt = /<script.+<\/script>/gi; vo.value = vo.value.replace(patt,''); } function t3() { var vo = document.getElementsByName('str')[0]; // var patt = /<script.+<\/script>/sgi; //js不支持s单行模式 var patt = /<script[\w\W]+<\/script>/gi; vo.value = vo.value.replace(patt,''); } function t4() { var vo = document.getElementsByName('str')[0]; var patt = /<script[\w\W]+?<\/script>/gi; vo.value = vo.value.replace(patt,''); } function t5() { var vo = document.getElementsByName('str')[0]; var patt = /^[a-z]+/gm; alert(vo.value.match(patt)); } </script> <style type="text/css"> </style> </head> <body> <h2>模式</h2> <p> 模式不是正则表达式的一部分,但是能够影响正则式的作用效果.<br /> i,ignore,忽略(大小写)<br /> 默认情况:无论是匹配,还是替换,都是检查/替换掉1次就结束.<br /> 用全局模式,来替换所有匹配的字符串.<br /> 全局模式: g<br /> s:代表单行模式,把整个字符串当成一行来看待<br /> <font color="red">js目前不支持单行模式</font><br /> 在js的正则使用中,想解决.跨行的问题. <br /> 1:单行模式不能用.<br /> 2: [.\n]也不能代表"所有字符"<br /> 我们可以用[\w\W],[\d\D],[\s\S],这几个组合来代替"所有字符"<br /> <b>正则默认是尽量"多找"匹配的内容,称为贪婪模式<br /></b> 在个数修饰符加"?",可以改为"非贪婪模式"<br /> 多行模式,m<br /> 正常情况,字符串从头到尾,当成一个整串来看.<br /> ^代表字符开头,$代表整个字符的结尾 <br /> 把每一行,看成一个独立的字符串 </p> <textarea name="str" /></textarea><br /> <input type="submit" value="匹配hi字符" onclick="t1();" /><br /> <input type="submit" value="去除单行script代码" onclick="t2();" /><br /> <input type="submit" value="去除多行script代码" onclick="t3();" /><br /> <input type="submit" value="去除多行script代码,但不影响其他html标签" onclick="t4();" /><br /> <input type="submit" value="多行模式" onclick="t5();" /><br /> </body> </html>
<script type="text/javascript"> function t1() { var vo = document.getElementsByName('str')[0]; var patt = /^1[3458][0-9]{9}$/; // 1开头,跟着3|4|5|8,再来9位数字 if(patt.test(vo.value)) { alert('是手机号'); } else { alert('不是手机号'); } } function t2() { var vo = document.getElementsByName('str')[0]; var patt = /1[3458][0-9]{9}/g; alert(vo.value.match(patt)) } function t3() { var vo = document.getElementsByName('str')[0]; var patt = /^[a-z0-9][a-z0-9_]*(\.[a-z0-9]+)*@[a-z0-9][a-z0-9-]*(\.[a-z0-9][a-z0-9-]*)+$/i; if(patt.test(vo.value)) { alert('是email'); } else { alert('不是email'); } } </script> <style type="text/css"> </style> </head> <body> <h2>综合练习</h2> <p> </p> <textarea name="str" /></textarea><br /> <input type="submit" value="验证手机号" onclick="t1();" /><br /> <input type="submit" value="采集文章中的手机号" onclick="t2();" /><br /> <input type="submit" value="验证email" onclick="t3();" /><br /> </body> </html>
<script type="text/javascript"> function t1() { var vo = document.getElementsByName('str')[0]; var patt = /<script[\w\W]+?<\/script>/ig; vo.value = vo.value.replace(patt,''); } function t2() { var vo = document.getElementsByName('str')[0]; var patt = /<a href=".*"[^>]*>/ig; vo.value = vo.value.replace(patt,'<a href="#">'); } </script> <style type="text/css"> </style> </head> <body> <h2>综合练习</h2> <p> </p> <textarea name="str" /></textarea><br /> <input type="submit" value="去js代码" onclick="t1();" /><br /> <input type="submit" value="替换链接为#" onclick="t2();" /><br /> </body> </html>
<script type="text/javascript"> function t1() { var bo = document.getElementsByName("str")[0]; var tagg= /(\w)\1+/g; bo.value=bo.value.replace(tagg,'$1'); } </script> <style type="text/css"> </style> </head> <body> <h2>综合练习</h2> <p> </p> <textarea name="str" /></textarea><br /> <input type="submit" value="去重复字符aaabb->>ab" onclick="t1();" /><br /> </body> </html>
<script type="text/javascript"> function t1() { var vo = document.getElementsByName('str')[0]; var patt = /[\u4E00-\u9FA5]/g; vo.value = vo.value.replace(patt,''); } function t2() { var vo = document.getElementsByName('str')[0]; var patt = /^[\w\u4E00-\u9FA5]{4,}$/; if(patt.test(vo.value)) { alert('用户名合法'); } else { alert('用户名非法'); } } </script> <style type="text/css"> </style> </head> <body> <h2>验证中文</h2> <p> </p> <textarea name="str" /></textarea><br /> <input type="submit" value="把中文替换掉" onclick="t1();" /><br /> <input type="submit" value="检验用户名是字母下划线中文的组合" onclick="t2();" /> </body> </html>