文本框应该接受javascript中的onli十进制值。没有任何其他特殊字符。它不应该接受“。”不止一次。对于前者它不应该接受6 ..... 12 有人可以帮忙???
答案 0 :(得分:1)
您可以使用正则表达式:
function IsDecimal(str)
{
mystring = str;
if (mystring.match(/^\d+\.\d{2}$/ ) ) {
alert("match");
}
else
{
alert("not a match");
}
}
http://www.eggheadcafe.com/community/aspnet/3/81089/numaric-validation.aspx
答案 1 :(得分:0)
您可以使用Regex.test方法:
if (/\d+(\.\d{1,2})/.test(myTextboxValue)) //OK...
答案 2 :(得分:0)
JQuery Mask插件是要走的路! http://www.meiocodigo.com/projects/meiomask/#mm_demos
答案 3 :(得分:0)
如果你的意思是你不想在字段中输入除整数或小数之外的任何内容,你需要查看值 按下每个键。要捕获粘贴的输入,请在更改时再次检查。
textbox.onkeyup=textbox.onchange=function(e){
e= window.event? event.srcElement: e.target;
var v= e.value;
while(v && parseFloat(v)!= v) v= v.slice(0, -1);
e.value= v;
}
答案 4 :(得分:0)
可能您希望在将表单输入发送到服务器之前对其进行验证。这是一些例子:
<html>
<head>
<title>Form Validation</title>
<script type="text/javascript">
function validate(){
var field = document.getElementById("number");
if(field.value.match(/^\d+(\.\d*)?$/)){
return true;
} else {
alert("Not a number! : "+field.value);
return false;
}
}
</script>
</head>
<body>
<form action="#" method="post" onsubmit="return validate();">
<input type="text" id="number" width="15" /><br />
<input type="submit" value="send" />
</form>
</body>
</html>
答案 5 :(得分:0)
我只是鞭打了这个。有用吗?
<html>
<head>
<script type="text/javascript">
function validNum(theField) {
val = theField.value;
var flt = parseFloat(val);
document.getElementById(theField.name+'Error').innerHTML=(val == "" || Number(val)==flt)?"":val + ' is not a valid (decimal) number';
}
window.onload=function(){
validNum(document.getElementById('num'));
}
</script>
</head>
<body>
<form>
<input type="text" name="num" id="num"
onkeyup="return validNum(this)" /> <span id="numError"></span>
</form>
</body>
</html>