我有一个文本框,我需要让用户只输入金额,这意味着只有数字和逗号
这是我所拥有的
<asp:TextBox ID="txt_tutar" runat="server" onkeypress="this.value=this.value.replace(/\D/g,'')"></asp:TextBox>
上面的代码只允许使用数字,它会删除逗号。如何更新以允许用户在文本框中输入浮点数?
答案 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上有时划线可能不起作用。