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