簡體   English   中英

javascript中的十進制

[英]Decimal in javascript

文本框應該接受javascript中的onli十進制值。 沒有任何其他特殊字符。 它不應該接受“。” 不止一次。 對於前者 它不應該接受6 ..... 12任何人都可以幫忙???

你可以使用正則表達式:

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

您可以使用Regex.test方法:

if (/\d+(\.\d{1,2})/.test(myTextboxValue)) //OK...

JQuery Mask插件是要走的路! http://www.meiocodigo.com/projects/meiomask/#mm_demos

如果您的意思是您不想在字段中輸入除整數或小數之外的任何內容,則需要在按下每個鍵時查看該值。 要捕獲粘貼的輸入,請在更改時再次檢查。

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;
}

可能您希望在將表單輸入發送到服務器之前驗證它。 這是一些例子:

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

我只是鞭打了這個。 有用?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM