1、用RegExp的exec()方法,该方法每次返回一个匹配,找不到时返回null
2、例如,str='1111哈哈 嘿嘿',第一次re.exec(str)返回'哈哈',第二次re.exec(str)返回'嘿嘿',第三次返回null。如下图:
注意:浏览器会禁止运行此脚本。你必须要让浏览可以运行脚本,才行。否则浏览器仍然会提交数据。其实我建议你用Ajax来保存数据,这样就不会出现上面的问题。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<title><?php echo $website_title ?></title>
</head>
<body>
<script language="javascript">
functioncontain(str,charset)// 字符串包含测试函数
{
var i
for(i=0i<charset.lengthi++)
if(str.indexOf(charset.charAt(i))>=0)
return true
return false
}
function CheckForm()
{
var oContain = document.getElementById("contain")
if(contain(oContain.value,"%\(\)><")){
alert("输入了非法字符")
return false
}else{
return true
// alert("true")
}
// if ((contain(document.form.NAME.value,"%\(\)><")) || (contain(document.form.MESSAGE.value,"%\(\)><")))
// {
//
// alert("输入了非法字符")
// document.form.NAME.focus()
// return false
// }else{
// alert("dddd")
// return true
// }
}
</script>
<form id="form" name="form" onsubmit='if(CheckForm())return trueelse return false' method="POST" action="<%=MM_editAction%>">
<label>
<input type="text" id="contain" name="contain" id="contain"/>
</label>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
<input type="hidden" name="MM_insert" value="form">
</form>
</body>