Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.08.2014, 05:39
Новичок на форуме
Отправить личное сообщение для thedmkw Посмотреть профиль Найти все сообщения от thedmkw
 
Регистрация: 07.08.2014
Сообщений: 2

Разделитель разрядов
Есть код
<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

Надеюсь на вашу помощь
сам я в этом не силен...
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2014, 08:17
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

<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 - один тэг.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 08.08.2014, 03:16
Новичок на форуме
Отправить личное сообщение для thedmkw Посмотреть профиль Найти все сообщения от thedmkw
 
Регистрация: 07.08.2014
Сообщений: 2

Большое спасибо!

Мне опять нужна ваша помощь, как выполнить округление/отсекание дробной части до 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>
Ответить с цитированием
  #4 (permalink)  
Старый 08.08.2014, 10:36
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

http://javascript.ru/Number/toFixed
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 11.08.2014, 22:35
Аватар для Zend
Профессор
Отправить личное сообщение для Zend Посмотреть профиль Найти все сообщения от Zend
 
Регистрация: 28.11.2009
Сообщений: 328

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, 11.08.2014 в 22:37.
Ответить с цитированием
  #6 (permalink)  
Старый 11.08.2014, 22:44
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Zend, накуя собственно? Выше мой вариант без всяких реверсов.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 11.08.2014, 22:50
Аватар для Zend
Профессор
Отправить личное сообщение для Zend Посмотреть профиль Найти все сообщения от Zend
 
Регистрация: 28.11.2009
Сообщений: 328

Aetae,
$& - а что это значит в регулярках?
Ответить с цитированием
  #8 (permalink)  
Старый 12.08.2014, 00:18
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Zend, всё вхождение.
alert('abc_остальная_строка_'.replace(/a(b)c/, '$$&: $&\n$$1: $1\n\n'))
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение разрядов числа пробелами. Kolyaj Ваши сайты и скрипты 17 12.03.2020 15:57
Условия в функции или разделитель? tai Общие вопросы Javascript 2 13.02.2014 16:16
Разделение разрядов числа с помощью AJAX VolodinAS AJAX и COMET 7 08.11.2013 18:34
Разделение разрядов чисел с дробной частью Demath Общие вопросы Javascript 11 08.07.2013 01:11
Как узнать текущий системный десятичный разделитель? demoniqus Общие вопросы Javascript 1 15.03.2011 19:22