#jquery #css
#jquery #css
Вопрос:
У меня есть текстовое поле, и мне нужно ввести проверки валюты для этого.
Например: если пользователь вводит 1999, то в этом текстовом поле должно отображаться 1999,00.
и если он вводит 19.50, то должно отображаться только 19.50.
Возможно ли это с помощью CSS? если да, не могли бы вы, пожалуйста, рассказать мне, как это сделать?
или же предоставьте мне проверку Jquery для этого.
Комментарии:
1. CSS не может этого сделать. CSS предназначен только для стилизации внешнего вида вашего HTML.
2. Вы могли бы использовать var.toFixed(2) в обычном javascript
3. Пожалуйста, предоставьте мне проверку Jquery для этого
Ответ №1:
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)amp;amp; nStr != "")
{
if (upperlimit != null amp;amp; (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