|
1с и js Ø (Волшебник 02.06.2023 23:57) | ☑ | ||
---|---|---|---|---|
0
semiluki
31.05.23
✎
18:52
|
Подскажите пожалуйста. Есть функция на js проверяет валидность номера телефона. Кто знает как ее прикрутить к 1с
function ValidPhone() { var re = /^[\d\+][\d\(\)\ -]{4,14}\d$/; var myPhone = document.getElementById('phone').value; var valid = re.test(myPhone); if (valid) output = 'Номер телефона введен правильно!'; else output = 'Номер телефона введен неправильно!'; document.getElementById('message').innerHTML = document.getElementById('message').innerHTML+'<br />'+output; return valid; } |
|||
1
PR
31.05.23
✎
19:02
|
(0) Очень просто
Переписать в виде кода 1С |
|||
2
sitex
naïve
31.05.23
✎
19:19
|
(0) Чем Алгоритм на 1С в типовых не подходит или самому по шаблону сделать ввод номера ?!
|
|||
3
sitex
naïve
31.05.23
✎
19:20
|
(0) Прикрутить то можно ,спрашивается наф*я.
|
|||
4
lubitelxml
31.05.23
✎
19:28
|
(0) в чем проблема? Гуглишь про регулярные выражения в 1с и прикручиваешь.
|
|||
5
Казуар
31.05.23
✎
19:34
|
(0) если форма ввода номера телефона документHTML - без проблем
|
|||
6
sitex
naïve
31.05.23
✎
19:38
|
(5) Про платформу не забыл написать наверно да !?
|
|||
7
Казуар
31.05.23
✎
20:17
|
(6) на 8.3.23 без проблем
на предыдущих по-другому, но тоже без проблем |
|||
8
sitex
naïve
01.06.23
✎
20:02
|
(7) Так отработай за Автора Топика ) , раз без проблем , или вы одно лицо с ним
|
|||
9
Казуар
01.06.23
✎
20:45
|
(8) Ищите и обрящете
|
|||
10
Хранимая Процедура
01.06.23
✎
23:03
|
ДезинформацияА когда-то давно в программисты шли люди, которые могли зарегистроваться на сайтах, требующих зарубежные симки Вот эквивалентный код на языке 1С: Функция ВалидныйТелефон() Перем re, myPhone, valid, output; re = /^[\d\+][\d\(\)\ -]{4,14}\d$/; myPhone = ТекстФормы.ЭлементыФормы.Телефон.Значение; valid = re.Тест(myPhone); Если valid Тогда output = "Номер телефона введен правильно!"; Иначе output = "Номер телефона введен неправильно!"; КонецЕсли; Сообщение = ДобавитьСтрокуHTML(Форма.ЭлементыФормы.Сообщение, "<br />" + output); Возврат valid; КонецФункции; Обратите внимание, что в коде на 1С используются специфические конструкции и методы, которые отличаются от JavaScript. В этом примере я предположил, что на форме есть элемент "Телефон" для ввода номера телефона и элемент "Сообщение" для вывода результата проверки. Вы должны заменить эти имена элементов на соответствующие в вашей 1С форме. |
|||
11
Волшебник
01.06.23
✎
23:03
|
(10) Это деза, а не код. Просьба не постить глупости от ChatGPT
|
|||
12
Salimbek
01.06.23
✎
23:03
|
(10) Не, так не интересно, интереснее другой запрос:
А что означает код JS var re = /^[\d\+][\d\(\)\ -]{4,14}\d$/; ChatGPT В коде JavaScript var re = /^[\d\+][\d\(\)\ -]{4,14}\d$/; переменная re представляет собой регулярное выражение (regular expression), которое используется для проверки вводимого значения на соответствие определенному шаблону. Давайте разберем эту регулярку по частям: ^ - Символ начала строки. [\d\+] - Символ класса символов, который соответствует одной цифре (\d) или символу плюс (+). [\d\(\)\ -]{4,14} - Символ класса символов, который соответствует от 4 до 14 символов, состоящих из цифр (\d), скобок (\( и \)) и пробела ( ) или дефиса (-). \d - Символ, соответствующий одной цифре. $ - Символ конца строки. Таким образом, данное регулярное выражение проверяет, что вводимое значение начинается с одной цифры или символа плюс, за которым следует от 4 до 14 символов, состоящих из цифр, скобок, пробелов или дефисов, и заканчивается цифрой. Это регулярное выражение может использоваться, например, для проверки правильности ввода номера телефона. |
|||
13
Волшебник
01.06.23
✎
23:05
|
(12) ну более-менее, даже полезно
|
|||
14
Salimbek
01.06.23
✎
23:33
|
(13) Ага, а потом его дальше если помучить, он мне выдал какую-то фигню с придуманной функцией СтрЧислоПоз, после указания на это, выдал уже более приличное (надо только добавить проверку на длину строки и еще кое-что подправить):
Как написать код в 1С, который будет проверять строку на соответствие такому шаблону: "значение начинается с одной цифры или символа плюс, за которым следует от 4 до 14 символов, состоящих из цифр, скобок, пробелов или дефисов, и заканчивается цифрой." Код должен быть без использования регулярных выражений ChatGPT Вот пример кода на языке 1С, который проверяет строку на соответствие заданному шаблону без использования регулярных выражений: Функция ВалидныйТелефон(Телефон) Перем valid, firstChar, lastChar, i; valid = Ложь; Если НЕ ПустаяСтрока(Телефон) Тогда firstChar = Сред(Телефон, 1, 1); lastChar = Сред(Телефон, СтрДлина(Телефон), 1); Если (СтрНайти("0123456789", firstChar) > 0 ИЛИ firstChar = "+") И СтрНайти("0123456789", lastChar) > 0 Тогда valid = Истина; Для i = 2 По (СтрДлина(Телефон) - 1) Цикл Если НЕ (СтрНайти("0123456789()- ", Сред(Телефон, i, 1)) > 0) Тогда valid = Ложь; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; Возврат valid; КонецФункции |
|||
15
vovastar
01.06.23
✎
23:41
|
(11) Пацан к успеху шел, не получилось, не фортануло)))
|
|||
16
DJ Anthon
02.06.23
✎
06:24
|
(14) в номере телефона официально находится +. не вижу вас его
|
|||
17
DJ Anthon
02.06.23
✎
06:25
|
а, сорян, в глаза долблюсь
|
|||
18
Salimbek
02.06.23
✎
10:46
|
(16) Это не у меня, это я ИИ мучал полчаса, чтобы он хоть какой-то приемлемый результат выдал. Если еще помучать, то и остальное он подрихтует, но пинать его нужно в правильном направлении.
|
|||
19
Волшебник
02.06.23
✎
10:46
|
(18) Проще самому написать
|
|||
20
Хранимая Процедура
02.06.23
✎
18:47
|
(10) - это не деза, первая итерация парного программирования.
ИИ выдал неправильный результат. И ты, вместо того, чтобы обвинять Скайнет, должен его вежливо поправить: Используй информацию по ссылке: https://wonderland.v8.1c.ru/blog/podderzhka-regulyarnykh-vyrazheniy-vo-vstroennom-yazyke/ Вот ответ: Да, вы можете использовать функцию `СтрПодобнаПоРегулярномуВыражению` для проверки строки на соответствие регулярному выражению в 1С. Эта функция проверяет указанную строку на соответствие заданному регулярному выражению【6†source】. Вот пример кода, который вы можете использовать как отправную точку для своей задачи: ```1C:Enterprise Перем РегулярноеВыражение, Строка, Результат; Строка = "+9(999)999 99-99"; // Замените эту строку на ту, которую вы хотите проверить РегулярноеВыражение = "^[\d\+][\d\(\)\ -]{4,14}\d$"; // Ваше регулярное выражение Результат = СтрПодобнаПоРегулярномуВыражению(Строка, РегулярноеВыражению); Если Результат Тогда Сообщить("Номер телефона введен правильно!"); Иначе Сообщить("Номер телефона введен неправильно!"); КонецЕсли; ``` Примечание: Пожалуйста, проверьте, что версия 1С, которую вы используете, поддерживает функцию `СтрПодобнаПоРегулярномуВыражению`【5†source】【7†source】. Теперь очередь за верификацией (фактчекингом) нового решения со стороны человека. |
|||
21
Хранимая Процедура
02.06.23
✎
18:51
|
ChatGPT Driven Development очень похож на TDD
|
|||
22
Волшебник
02.06.23
✎
21:35
|
(20) Я этой жестянке ничего не должен
|
|||
23
Волшебник
02.06.23
✎
21:37
|
(20) Пусть сама возьмёт и проверит свой программный код. Нам нужен РАБОТАЮЩИЙ программный код, а не ПРИБЛИЗИТЕЛЬНЫЙ
|
|||
24
sitex
naïve
02.06.23
✎
22:47
|
(11) Надо этот говно код пора от таких пользаков помечать что использовали ГОвноChatGPT
|
|||
25
sitex
naïve
02.06.23
✎
22:50
|
Это ЛЕНЬ Мозга пользака или Лень разработчика или хуже использовать ГОвноChatGPT в 1С.
Так дойдет до того что как Байден под ноги не смотрит что у него и совершая ошибки. |
|||
26
Хранимая Процедура
02.06.23
✎
23:39
|
(23) я так и подозревал, что в 1Сники идут люди, понятия не имеющие о программировании.
Открой для себя итерации. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |