Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.11.2024
Сообщений: 6

Не могу разобраться как вывести формат даты в div и число прописными буквами

12.11.2024, 19:30. Показов 620. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, сделал вывод из формы в div даты и числа, не могу разобраться как изменять вид даты при выводе в div, и как вывести число прописными буквами, ранее я прикручивал расположенный ниже php код для вывода числа в виде текста, как его прикрутить сюда что бы выводилось в div при вводе числа в форму???

HTML5
1
2
3
4
5
6
7
<form action="" method="post">
            <input type="data" id="data">
            <input type="number" id="price">
        </form>
 
        <div id="result1"></div>
        <div id="result2"></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        var input = document.getElementById('data');
        var result1 = document.getElementById('result1');
        var input2 = document.getElementById('price');
        var result2 = document.getElementById('result2');
 
 
        input.onkeyup = input.oncopy = input.onmousedown = input.onmouseup = input.onmouseout = input.onpaste = input.oncut = (function() {
            return function() {
                result1.innerHTML = this.value;
            }
        })();
 
            input2.onkeyup =  input2.oncopy = input2.onpaste = input2.oncut = (function() {
                return function() {
                    result2.innerHTML = this.value;
                }
        })();
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
function num2str(price) {
    $nul='ноль';
    $ten=array(
        array('','один','два','три','четыре','пять','шесть','семь', 'восемь','девять'),
        array('','одна','две','три','четыре','пять','шесть','семь', 'восемь','девять'),
    );
    $a20=array('десять','одиннадцать','двенадцать','тринадцать','четырнадцать' ,'пятнадцать','шестнадцать','семнадцать','восемнадцать','девятнадцать');
    $tens=array(2=>'двадцать','тридцать','сорок','пятьдесят','шестьдесят','семьдесят' ,'восемьдесят','девяносто');
    $hundred=array('','сто','двести','триста','четыреста','пятьсот','шестьсот', 'семьсот','восемьсот','девятьсот');
    $unit=array( // Units
        array('копейка' ,'копейки' ,'копеек',    1),
        array('рубль'   ,'рубля'   ,'рублей'    ,0),
        array('тысяча'  ,'тысячи'  ,'тысяч'     ,1),
        array('миллион' ,'миллиона','миллионов' ,0),
        array('миллиард','милиарда','миллиардов',0),
    );
    //
    list($rub,$kop) = explode('.',sprintf("%015.2f", floatval($tov_cena)));
    $out = array();
    if (intval($rub)>0) {
        foreach(str_split($rub,3) as $uk=>$v) { // by 3 symbols
            if (!intval($v)) continue;
            $uk = sizeof($unit)-$uk-1; // unit key
            $gender = $unit[$uk][3];
            list($i1,$i2,$i3) = array_map('intval',str_split($v,1));
            // mega-logic
            $out[] = $hundred[$i1]; # 1xx-9xx
            if ($i2>1) $out[]= $tens[$i2].' '.$ten[$gender][$i3]; # 20-99
            else $out[]= $i2>0 ? $a20[$i3] : $ten[$gender][$i3]; # 10-19 | 1-9
            // units without rub & kop
            if ($uk>1) $out[]= morph($v,$unit[$uk][0],$unit[$uk][1],$unit[$uk][2]);
        } //foreach
    }
    else $out[] = $nul;
    $out[] = morph(intval($rub), $unit[1][0],$unit[1][1],$unit[1][2]); // rub
    $out[] = $kop.' '.morph($kop,$unit[0][0],$unit[0][1],$unit[0][2]); // kop
    return trim(preg_replace('/ {2,}/', ' ', join(' ',$out)));
}
 
/**
 * Склоняем словоформу
 * @ author runcore
 */
function morph($n, $f1, $f2, $f5) {
    $n = abs(intval($n)) % 100;
    if ($n>10 && $n<20) return $f5;
    $n = $n % 10;
    if ($n>1 && $n<5) return $f2;
    if ($n==1) return $f1;
    return $f5;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2024, 19:30
Ответы с готовыми решениями:

Сделать из строки с строчными буквами массив из строк с заглавными и прописными буквами
Учитывая строку, заглавные буквы, которые занимают четные индексы и нечетные индексы отдельно, и возвращают, как показано ниже. Индекс 0...

Формат даты и времени. В чем храниться дата и как число приобразовывать в дату (и наоборот)
Добрый вечер всем. в общем появилась необходимость сделать так что бы например если человек вводил в текст бокс (или в консольном...

Не могу разобраться как реализовать функцию инициализации даты по веденному массиву char
//--------------------------------------------------------------------------- #pragma hdrstop ...

2
18 / 15 / 3
Регистрация: 04.05.2017
Сообщений: 136
14.11.2024, 02:07
Там куча синтаксических ошибок, синтаксис с php не работает в js
$tens=array(2=>'двадцать','тридцать','сорок','пятьдесят ','шестьдесят','семьдесят' ,'восемьдесят','девяносто');
foreach(str_split($rub,3)) as $uk=>$v)
дальше не разбирался foreach в js не так работает это метод тут а не цикл как в php, надо все переписать Вам
0
0 / 0 / 0
Регистрация: 12.11.2024
Сообщений: 6
14.11.2024, 22:04  [ТС]
Вывел дату в нужном формате скриптом
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
        input.addEventListener('change', function() {
            if (this.value) {
                var test = new Date(this.value);
                var formattedDate = test.toLocaleDateString('ru-RU', {
                    day: 'numeric',
                    month: 'long',
                    year: 'numeric'
                });
                result.innerHTML = formattedDate;
            } else {
                result.innerHTML = '';
            }
        });
Вывел число в денежном эквиваленте скриптом ниже но при ручном удалении данных с input выводит надпись - ноль рублей ноль копеек Сейчас пытаюсь что бы при удалении данных с input надписи не было

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
    input3.onkeyup = input3.oncopy = input3.onpaste = input3.oncut = (function() {
 
            return function() {
 
            function num_letters(k, d) {
                var i = '', e = [
                    ['','тысяч','миллион','миллиард','триллион','квадриллион','квинтиллион','секстиллион','септиллион','октиллион','нониллион','дециллион'],
                    ['а','и',''],
                    ['','а','ов']
                ];
                if (k == '' || k == '0') return ' ноль';
                k = k.split(/(?=(?:\d{3})+$)/);
                if (k[0].length == 1) k[0] = '00'+k[0];
                if (k[0].length == 2) k[0] = '0'+k[0];
 
                for (var j = (k.length - 1); j >= 0; j--) {
                    if (k[j] != '000') {
                        i = (((d && j == (k.length - 1)) || j == (k.length - 2)) && (k[j][2] == '1' || k[j][2] == '2') ? t(k[j],1) : t(k[j])) + declOfNum(k[j], e[0][k.length - 1 - j], (j == (k.length - 2) ? e[1] : e[2])) + i;
                    }
                }
                function t(k, d) {
                    var e = [
                        ['',' один',' два',' три',' четыре',' пять',' шесть',' семь',' восемь',' девять'],
                        [' десять',' одиннадцать',' двенадцать',' тринадцать',' четырнадцать',' пятнадцать',' шестнадцать',' семнадцать',' восемнадцать',' девятнадцать'],
                        ['','',' двадцать',' тридцать',' сорок',' пятьдесят',' шестьдесят',' семьдесят',' восемьдесят',' девяносто'],
                        ['',' сто',' двести',' триста',' четыреста',' пятьсот',' шестьсот',' семьсот',' восемьсот',' девятьсот'],
                        ['',' одна',' две']
                    ];
                    return e[3][k[0]] + (k[1] == 1 ? e[1][k[2]] : e[2][k[1]] + (d ? e[4][k[2]] : e[0][k[2]]));
                }
                return i;
            }
            function declOfNum(n, t, o) {
                var k = [2,0,1,1,1,2,2,2,2,2];
                return (t == '' ? '' : ' ' + t + (n[n.length-2] == "1"?o[2]:o[k[n[n.length-1]]]));
            }
            function razUp(e) {
                return e[1].toLowerCase() + e.substring(2);
            }
            function REZ(a) {
                a = Number(a).toFixed(2).split('.');
                return razUp(num_letters(a[0]) + declOfNum(a[0], 'рубл', ['ь','я','ей']) + ' ' + a[1] + declOfNum(a[1], 'копе', ['йка','йки','ек']));
            }
 
 
            result3.innerHTML = REZ(this.value.replace(/,/, '.'));
 
 
               
 
            }
        })
Добавлено через 28 минут
JavaScript
1
result3.innerHTML = REZ(this.value.replace(/,/, '.'));
заменил на

JavaScript
1
2
3
4
5
 if (this.value.trim() === '') {
                    result3.innerHTML = '';
                } else {
                    result3.innerHTML = REZ(this.value.replace(/,/, '.'));
                }
и все заработало
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2024, 22:04
Помогаю со студенческими работами здесь

Операции с прописными буквами в макросе
В общем-то, наверно, задача не очень сложная, но не могу сообразить, как макрос должен понимать, что имеет дело с прописной буквой, а не...

Выделение из ячейки слов с прописными буквами
Здравствуйте! Уважаемые форумчане, есть проблема. В ячейках имеется длинное описание товара. В названии товара (где-то в центре,...

Заменить текст с прописными буквами и с заглавными
Есть ли какойто способ чтобы не дублировать каждый раз с заглавной буквой? gsub(&quot;Going to&quot;,&quot;Gonna&quot;).gsub(&quot;going...

Напечатайте свои инициалы прописными буквами
Как вот такую задачу решить? на си++ Напечатайте свои инициалы прописными буквами. Составьте каждую прописную букву из соответствующих ей...

Напечатайте свои инициалы прописными буквами
Напечатайте свои инициалы прописными буквами. Составьте каждую прописную букву из соответствующих ей символов. Инициалы должны быть M L....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru