javascript - asp.net 文本框中仅允许数字或小数数据

标签 javascript asp.net regex textbox

我在 asp.net 中有一个文本框,我只想在其中输入数字或小数数据。甚至不应该允许用户输入任何其他数据。我自己使用以下代码进行了尝试。但它不允许用户为小数数据输入小数点。

<script language="JavaScript">
function onlyNumbers(evt)
{
    var e = event || evt; // for trans-browser compatibility
    var charCode = e.which || e.keyCode;

    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}
</script>

我修改了代码如下,以便它允许小数点(句点)(code=190)

if (charCode != 190) 
{ ((charCode > 31 && (charCode < 48 || charCode > 57)))
 return false; }
 return true;

但效果不太好(这里我使用 190 作为定义标准的周期)。此外,如果有人可以帮助我限制此文本框,让用户只能输入 6 个字符。任何人都可以纠正我。我将非常感激。

注意:我也尝试过这个。它也仅适用于数字,并且还允许输入非数字数据,但如果输入非数字数据,则会显示错误消息。但这不是我想要的。我什至不希望用户输入非数字数据。

<asp:TextBox ID="txtBasicPay" runat="server" Height="15px" Width="120px"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="txtBasicPay" runat="server" ErrorMessage="Only numbers allowed" ValidationExpression="\d+"></asp:RegularExpressionValidator>

最佳答案

您可以使用以下内容

在 ASPX 中:

<asp:TextBox ID="txtBasicPay" runat="server" Height="15px" Width="120px" onkeypress="return isFloatNumber(this,event);"></asp:TextBox>

Javascript:

function isFloatNumber(e, t) {
   var n;
   var r;
   if (navigator.appName == "Microsoft Internet Explorer" || navigator.appName == "Netscape") {
      n = t.keyCode;
      r = 1;
      if (navigator.appName == "Netscape") {
         n = t.charCode;
         r = 0
      }
   } else {
      n = t.charCode;
      r = 0
   }
   if (r == 1) {
      if (!(n >= 48 && n <= 57 || n == 46)) {
         t.returnValue = false
      }
   } else {
      if (!(n >= 48 && n <= 57 || n == 0 || n == 46)) {
         t.preventDefault()
      }
   }
}

关于javascript - asp.net 文本框中仅允许数字或小数数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33083781/

相关文章:

javascript - 将不同的 this 作用域绑定(bind)到 ES6 => 函数运算符

javascript - 函数调用其他函数练习我被难住了

javascript - 使用 jquery 屏蔽敏感文本

c# - 字符串未被识别为有效的 DateTime,asp.net

javascript - Twitter Bootstrap 工具提示 : flickers on mouse down

javascript - 通过 JavaScript 使页面无效

java - java中的UNICODE正则表达式

javascript - 可用于多个 Controller 的 AngularJS 函数

python - 正则表达式匹配python中方括号中的数字

java - 需要创建正则表达式来分析rails服务器日志