我有一个文本字段,我需要为此进行货币验证。
例如:如果用户输入1999,那么它应该在该文本框中显示1999.00。
如果他进入19.50那么它应该仅仅显示19.50。
这是否可以使用CSS实现?如果是的话,请告诉我该怎么做?
或者为我提供Jquery验证。
答案 0 :(得分:0)
FormatAsMoney(document.getElementById("yourElementId"), 10000000000, true);
function FormatAsMoney(txtbox, upperlimit, useDecimal)
{
nStr = stripComma(txtbox.value);
txtbox.value = FormatAsMoneyFromString(nStr, upperlimit, useDecimal);
}
function FormatAsMoneyFromString(nStr, upperlimit, useDecimal) {
if(!isNaN(nStr)&& nStr != "")
{
if (upperlimit != null && (nStr * 1) <= upperlimit)
{
var amount = nStr * 1;
nStr = amount.toString();
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = (typeof(x[1]) == 'undefined')?'00':x[1];
x2 = (x2.length == 1)?x2+'0':x2;
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1))
{
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
if (useDecimal)
{
return x1 + '.' + x2;
}
else
{
return x1;
}
}
}
return nStr;
}
function stripComma(money)
{
var retVal = ""
if( money != null )
{
retVal = money;
if(retVal.indexOf(',') != -1) // strip the commas
{
var strip = retVal.split(',');
retVal = "";
for(var y=0;y< parseInt(strip.length);y++)
{
retVal += strip[y];
}
}
if(retVal.indexOf(' ') != -1) // strip the spaces
{
var strip = retVal.split(' ');
retVal = "";
for(var y=0;y< parseInt(strip.length);y++)
{
retVal += strip[y];
}
}
}
return retVal;
} // end stripComma