怎样限制全页面的文本框,不能输入某些字符?
字符如下: " < > ' \ /
------解决方案-------------------- <style>
input
{
border:1px solid black;
}
</style>
<SCRIPT language= "javascript ">
<!--start
/*
* added by Lxcjie 2004.6.11
* 约束输入框的内容
* 适用于IE5.0及以上版本
* oObj: 输入框控件对象
* reg: 正则表达式
* isChinese:是否允许打开输入法,true 允许打开,即允许输入中文,false 不能打开,默认为不允许打开
* usage:
*
* //只能输入数字和大小写字母
* <BODY onLoad= "regInputRestriction(document.all.txt,/^[0-9a-zA-Z]*$/) ">
* <input id= "txt ">
* </BODY>
*/
function regInputRestriction(oObj,reg,isChinese)
{
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange();
if (docSel.parentElement().tagName.toLowerCase() != "input ")
return false;
oSel = docSel.duplicate();
oSel.text = " ";
var srcRange = obj.createTextRange();
oSel.setEndPoint( "StartToStart ", srcRange);
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length);
return reg.test(str);
}
//限制输入法是否允许打开
if(isChinese == null)
isChinese = false;
if(isChinese)
oObj.style.imeMode = "auto ";
else
oObj.style.imeMode = "disabled ";
//注册事件
oObj.onkeypress = function()
{
return regInput(this,reg,String.fromCharCode(event.keyCode));//输入时激发
}
oObj.onpaste = function()
{
return regInput(this,reg,window.clipboardData.getData( 'Text '));//粘贴时激发
}
oObj.ondrop = function()
{
return regInput(this,reg,event.dataTransfer.getData( 'Text '));//拖拽时激发
}
}
//-->
</SCRIPT>
<script language= "javascript ">
function initForm()
{
regInputRestriction(document.all.onlyNumber,/^[0-9]*$/);
regInputRestriction(document.all.lowerLetter,/^[a-z]*$/);
regInputRestriction(document.all.upperLetter,/^[A-Z]*$/);
regInputRestriction(document.all.letter,/^[a-zA-Z]*$/);
regInputRestriction(document.all.numberLetter,/^([0-9a-zA-Z])*$/);
regInputRestriction(document.all.chinese,/^[\u4E00-\u9FA5]*$/,true);
regInputRestriction(document.all.twoDigFloat,/^\d*\.?\d{0,2}$/ );
regInputRestriction(document.all.dateNum,/^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/);
regInputRestriction(document.all.partEn,/^[a-e]*$/);
regInputRestriction(document.all.notSpecialLetter,/^[^|#]*$/);
}
</script>
<BODY onLoad= "initForm() " style= "font-size:12px; ">
<INPUT id= "onlyNumber "> 只能输入数字 <br> <br>
<INPUT id= "lowerLetter "> 只能是小写字母 <br> <br>
<INPUT id= "upperLetter "> 只能是大写字母 <br> <br>
<INPUT id= "letter "> 只能是字母 <br> <br>
<INPUT id= "numberLetter "> 只能是字母数字 <br> <br>
<INPUT id= "chinese "> 只能是中文(bug:紫光拼音可以输入英文) <br> <br>
<INPUT id= "twoDigFloat "> 只能是两位小数 <br> <br>
<INPUT id= "dateNum "> 只能是日期型 <br> <br>
<INPUT id= "partEn "> 是部分英文(a-e) <br> <br>
<INPUT id= "notSpecialLetter "> 不能输入 # 和 | <br> <br>
</BODY>
------解决