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'));//拖拽时激发
}
}<BODY onLoad="regInputRestriction(document.all.onlyNumber,/^[0-9]*$/);">
  <INPUT id="onlyNumber"> 只能输入数字<br><br>
</BODY>

解决方案 »

  1.   


    <input type="textbox" onkeypress="return event.keyCode>=48&amp;&amp;event.keyCode<=57" onpaste="return !clipboardData.getData('text').match(/\D/)" id="txtTaxisNo" ondragenter="return false" style="IME-MODE: disabled"/>
      

  2.   

    数字:
    <input onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">
      

  3.   

    字母:
    <input onkeypress="return (event.keyCode>96&&event.keyCode<123)||(event.keyCode>64&&event.keyCode<91)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">
      

  4.   

    邮件:
    <script>
    function CheckEmail(EMail)
    {
    if(EMail.match(/[\w-]+@{1}[\w-]+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig)!=EMail)
    return false
    else
    return true
    }
    </script>
    <input id=EMail>
    <input type=button value=验证 onclick="if(CheckEmail(EMail.value))alert('正确');else alert('错误')">