javascript中的十进制

时间:2010-04-21 14:02:20

标签: javascript

文本框应该接受javascript中的onli十进制值。没有任何其他特殊字符。它不应该接受“。”不止一次。对于前者它不应该接受6 ..... 12 有人可以帮忙???

6 个答案:

答案 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>