2012-06-11 73 views
0

我在我的html頁面中有文本框,我想在小數點前後接受2位數字。我怎樣才能做到這一點在HTML或JavaScript?HTML文本框掩碼或驗證

的樣本值:

02.50 
10.25 
00.00 

代碼:

function inputControl(input,format) 
{ 
    var value=input.val(); 
    var values=value.split(""); 
    var update=""; 
    var transition=""; 
    if (format=='int'){ 
     expression=/^([0-9])$/; 
     finalExpression=/^([1-9][0-9]*)$/; 
    } 
    else if (format=='float') 
    { 
     var expression=/(^\d+$)|(^\d+\.\d+$)|[,\.]/; 
     var finalExpression=/^([1-9][0-3]*[,\.]?\d{0,2})$/; 
    } 
    for(id in values) 
    {   
     if (expression.test(values[id])==true && values[id]!='') 
     { 
      transition+=''+values[id].replace(',','.'); 
      if(finalExpression.test(transition)==true) 
      { 
       update+=''+values[id].replace(',','.'); 
      } 
     } 
    } 
    input.val(update); 
} 

http://jsfiddle.net/8Uuvb/39/

+0

有什麼問題與您的代碼? –

+0

我希望小數點前的數字只是2位數。 – Mitc

+0

[*重複上一個項目,正好'n'次*:'{n},其中n是一個> = 1的整數。產生'a {3}匹配aaa'](http://www.regular-expressions.info/reference.html)。 –

回答

0

Instate劈裂每個數字和小數點, 你可以如下嘗試:

//1st Make value to string: 
value = value.toString(); 

//2nd Split the digit and decimal: 
var values=value.split("."); 

//3rd Getting Digit & Decimal in String Form & converting back to integer 
var Digit = Number(values[0]); 
var Decimal = Number(values[1]); 

參考:

  1. 字符串轉換爲數目:ClickHERE
  2. 轉換數值到字符串:ClickHERE