文本框仅允许数字和逗号

时间:2013-06-26 19:07:03

标签: javascript asp.net css

我有一个文本框,我需要让用户只输入金额,这意味着只有数字和逗号

这是我所拥有的

 <asp:TextBox ID="txt_tutar" runat="server" onkeypress="this.value=this.value.replace(/\D/g,'')"></asp:TextBox>

上面的代码只允许使用数字,它会删除逗号。如何更新以允许用户在文本框中输入浮点数?

2 个答案:

答案 0 :(得分:5)

使用此正则表达式:

/[^\d,]/g

如:

this.value=this.value.replace(/[^\d,]/g,'')

当然这并不意味着字符串将是有效的数值;例如2,,0,1会被视为罚款。您真的应该使用decimal.TryParse或类似的

进行完整的服务器端验证

答案 1 :(得分:0)

在这里,您还可以使用必填字段验证器来执行此操作,

更好的方法是在客户端使用javascript获得性能,使用下面的脚本

function isValidNo(str) {
            var inbadChars = "\t\n\r^&*=~`';<>?[]{}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            //debugger;
            for (n = 0; n < str.length; n++) //filter for invalid chars
            {
                if (inbadChars.indexOf(str.charAt(n)) != -1) return false;
            }
            return true;
        }

建议使用服务器端tryparse,因为在somebrowser上有时划线可能不起作用。