【问题标题】:two digits after dot with javascript onkeypress event in textbox文本框中带有javascript onkeypress事件的点后两位数
【发布时间】:2012-03-19 12:12:37
【问题描述】:

我的页面上有一个文本框。 我有一个 javascript,用户只需在文本框中输入数字和点。 但不幸的是,这还不够。 用户必须受到限制,如果它放一个点,那么它只能在后面写数字。 是否有验证控件或 ajax 工具包,或者我必须在 onkeypress 事件上进行?

【问题讨论】:

  • ajax 和它有什么关系?
  • 您应该在发送数据时验证,而不是在输入时验证。可以在不发送按键事件的情况下输入文本,例如粘贴或删除。

标签: javascript asp.net javascript-events


【解决方案1】:

input:textonblur/onkeyup 事件中,只需检查输入的值是否与/\.\d{2}$/ 正则表达式匹配

【讨论】:

    【解决方案2】:

    你可以试试这个正则表达式;

    function dotdot(val){
        var rx = /\.\./;
        return rx.test(val);
    }
    

    这样您可以确保用户不会在另一个点之后键入一个点。

    【讨论】:

      【解决方案3】:
      var textbox = document.getElementById("ele_id");
      textbox.addEventListener('keyup',function(e){ 
        console.log(textbox.value.match(/^[0-9]*?\.[0-9]{2}$/)); 
      }, false);
      

      刚刚在 firefox/firebug 中测试过,你可以在 html 或 jquery 的 bind() 中使用“onkeyup”来使事件处理程序在 IE 中工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 2021-10-26
        • 2011-10-14
        • 1970-01-01
        • 2011-05-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多