<script type="text/javascript">
function allowDecimal(txt) {
var theEvent = txt.htmlEvent || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode(key);
var regex = /^\d*[0-9](|.\d*[0-9]|)*$/;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault)
theEvent.preventDefault();
}
}
<asp:TextBox ID="txt" runat="server" onkeypress="allowDecimal(this);"></asp:TextBox>
这不允许输入.
,所以有人可以帮我解决错误
答案 0 :(得分:1)
试试这个正则表达式
<script type="text/javascript">
function allowDecimal(txt) {
var theEvent = txt.htmlEvent || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode(key);
var regex = /^\d*\.?\d*$/;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault)
theEvent.preventDefault();
}
}
</script>
答案 1 :(得分:0)
你也可以这样写,没有任何正则表达式只进行一次十进制验证:
var str = "hello.world"
var str2 = str.split(".");
var validate = str2.length;
if(validate != 1){
alert("Decimal present");
}
else{
alert("No decimal found");
}
答案 2 :(得分:0)
var decimal=/^[+-]?(\d+(\.\d+)?|\.\d+)$/;
这匹配(可选)标志,
后跟任意数字的数字,带有可选的小数点后跟数字
或小数点后跟数字。