Проверка Jquery для поля валюты

#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