Разделитель разрядов
Есть код
<center><form action="LINK" metod="GET"> <input id="ammountrub" maxlength="10" type="text" name="cost" required value="" placeholder="Рублей" onkeyup='document.getElementById("result").innerText=(this. value*1000 + "$");' onkeydown='document.getElementById("result").innerText=(this. value*1000 + "$");'><input type="hidden" name="login" value="1"><b><span style="position: absolute; margin-top: 1%; margin-left: 1%;" title="Вы получите столько валюты" id='result'>0$</span></b><br><input type="submit" value="Оплатить"></input> </form></center> <script> document.getElementById("ammountrub").onkeypress= function(event){ event= event || window.event; if (event.charCode && (event.charCode < 48 || event.charCode > 57)) return false; }; </script> Необходимо чтобы число из <span id="result"></span> появлялось сразу разделенным на разряды. Например: 1000000 > 1,000,000 100000 > 100,000 10000 > 10,000 1000 > 1,000 Надеюсь на вашу помощь :yes: сам я в этом не силен... |
<center> <form action="LINK" metod="GET"> <input id="ammountrub" maxlength="10" type="text" name="cost" required value="" placeholder="Рублей" onkeyup="key(this.value)" onkeydown="key(this.value)"> <input type="hidden" name="login" value="1"> <b> <span style="position: absolute; margin-top: 1%; margin-left: 1%;" title="Вы получите столько валюты" id='result'> 0$ </span> </b> <br> <input type="submit" value="Оплатить"> </form> </center> <script> function key(val){ document.getElementById("result").innerHTML=(val*1000 + "$").replace(/\d(?=(?:\d{3})+(?:\D|$))/g,'$&,'); } document.getElementById("ammountrub").onkeypress= function(event){ event= event || window.event; if (event.charCode && (event.charCode < 48 || event.charCode > 57)) return false; } </script> P.S. 1. innerText в firefox не работает, там textContent. 2.</input> - это ошибка, input - один тэг. |
Большое спасибо!
Мне опять нужна ваша помощь, как выполнить округление/отсекание дробной части до 2 цифр в <span id="allua"></span>? Вот полный код: <center> <form action="LINK" metod="GET"> <input class="ammountrub" id="ammountrub" maxlength="5" type="text" name="cost" required value="" placeholder="Рублей" onkeyup="key(this.value)" onkeydown="key(this.value)"> <input type="hidden" name="login" value="1"> <b> <span class="resultcss" style="font-size: 19px; position: absolute; margin-top: 1.01%; margin-left: 1%;" title="Вы получите столько валюты" id='result'> 0$ </span> </b> <br> <input type="submit" style="margin-left: -22.535%; margin-top: -0.05%; font-size: 16px; padding: 2px; padding-left: 6px; padding-right: 6px;" value="Оплатить"> </form> <span style="font-size: 17px; position: absolute; margin-top: -4.15%; margin-left: -5%;">Итого:</span><div id="allmoney" style="font-size: 17px; position: absolute; margin-top: -4.144%; margin-left: 50.7%;"><span id="allrub">0 руб.</span><span id="allua" style="margin-left: 6px;">(~0 UAH)</span></div> </center> <script> function key(val){ document.getElementById("result").innerHTML=(val*1000 + "$").replace(/\d(?=(?:\d{3})+(?:\D|$))/g,'$& '); document.getElementById("allrub").innerHTML=(val*1 + " руб.").replace(/\d(?=(?:\d{3})+(?:\D|$))/g,'$& '); document.getElementById("allua").innerHTML=("(~" + val*0.34 + " UAH)").replace(/\d(?=(?:\d{3})+(?:\D|$))/g,'$& '); } document.getElementById("ammountrub").onkeypress= function(event){ event= event || window.event; if (event.charCode && (event.charCode < 48 || event.charCode > 57)) return false; } </script> |
|
String.prototype.reverse = function () { return this.split('').reverse().join(''); }; var money = function (n) { return n.toString().reverse().replace(/(\d{3})(?=\d)/g, '$1,').reverse(); }; alert([money(1000), money(10000), money(100000), money(1000000)].join(' ~ ')); Давайте, ругайте меня за то что я нагадил в прототип. |
Zend, накуя собственно? Выше мой вариант без всяких реверсов.
|
Aetae,
$& - а что это значит в регулярках? |
Zend, всё вхождение.
alert('abc_остальная_строка_'.replace(/a(b)c/, '$$&: $&\n$$1: $1\n\n')) |
Часовой пояс GMT +3, время: 23:20. |