1.使用正则来判断就好
2.用window.perent对象
3.用Excel.Application组件
4.不要在for循环里使用setTimout方法,用setTimout方法调用自身函数达到循环的目的
5.因该不可以吧

解决方案 »

  1.   

    对不起,我是个新手,水平有限。请问
    1、什么是“正则”?
    2、window.parent对象代码怎写?
    3、Excel.Application的代码怎么写?
    4、我没有在FOR语句里用setTimeOut语句,我只是想前面运行完的语句,先停顿一下,再运行下面的语句,那么是不是下面的语句每一句都放在setTimeOut语句里面,写成setTimeOut("下面的语句",1000)?
    谢谢!
      

  2.   

    第一个问题有答案了:用event.keyCode<48||event.keyCode>57百度了一下,结果就出来了:
    文本框要这样写:<input type="text" ID="abc" OnKeyPress="return event.keyCode>=48&&event.keyCode<=57">
    不敢居功,答案来自:
    http://access911.net/ocr/doc1.asp?mode=a&bid=005202&aid=5495433
      

  3.   

    以前项目用的一个东西,不过只能支持IE,希望对你有帮助<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>
      

  4.   

    答复jaksuse:
    我的代码并不能输入汉字啊?!你说的输入汉字不知从何说起。
    我后来又修改了一下,让输入完善一些,当然还可以再加一些判断。
    输入的时候,onkeyDown触发下列代码:
    function riqi(){
    if ((event.keyCode>45&&event.keyCode<58)||(event.keyCode>95&&event.keyCode<106))
    return true;
    if (event.keyCode==8||event.keyCode==9)
    return true;
    if (event.keyCode>34&&event.keyCode<40)
    return true;
    return false;
    }