Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как правильно написать регулярное выражение (буквы, цифры и дефис)? (https://javascript.ru/forum/dom-window/81184-kak-pravilno-napisat-regulyarnoe-vyrazhenie-bukvy-cifry-i-defis.html)

dc65k 16.10.2020 06:11

Как правильно написать регулярное выражение (буквы, цифры и дефис)?
 
Всем привет. Подскажите, пожалуйста, как написать регулярное выражение, чтобы в случае, если клиент ввел в поле что-то кроме букв, цифр и дефисов, то поле не проходило бы валидацию.

laimas 16.10.2020 06:30

Цитата:

Сообщение от dc65k
кроме букв

Какого алфавита?

dc65k 16.10.2020 08:03

Ожидаемое поведение:
Тест, Test, Тест1, Test2 буде проходить валидацию.
Тест), Test?, Тест1#, Test2@, Тест^% - не будут

laimas 16.10.2020 08:12

Если английские, то шаблон /[a-z\d-]+/i разрешает описанное.

voraa 16.10.2020 08:18

/[a-zA-Zа-яёА-ЯЁ\d-]+/

laimas 16.10.2020 08:21

voraa,
а почему не /[a-zа-яё\d-]+/i

PS. А я тоже забыл + )

voraa 16.10.2020 08:27

А i действует на кириллицу?
Я просто не знаю, поэтому пишу наверняка.

laimas 16.10.2020 08:37

Цитата:

Сообщение от voraa
А i действует на кириллицу?

Да. Но вроде бы я спросил о языке, и в ответе о русском ни слова, хотя ...

dc65k 16.10.2020 08:51

Спасибо.

voraa 16.10.2020 08:51

Цитата:

Сообщение от laimas
Но вроде бы я спросил о языке, и в ответе о русском ни слова

Надо забыть про всякое старье типа ИЕ
и писать
/[\p{L}\p{Nd}\p{Pd}]+/u

laimas 16.10.2020 09:27

Цитата:

Сообщение от voraa
Надо забыть про всякое старье типа ИЕ

Если бы только IE, хватает и других с теми же проблемами.

voraa 16.10.2020 09:59

Цитата:

Сообщение от laimas
Если бы только IE, хватает и других с теми же проблемами.

Я вот этого никогда не пойму
Когда вводили разные медиа форматы, типа mpeg - никто не говорил, а вдруг у кого то на компах установлены плееры, которые их не поддерживают. Давайте не будем использовать mpeg, а только avi.
Когда ставили новые программули, никто не возмущался, что они требовали более современные DirectX или NET.
Не помню так же стонов по поводу .docx (А вдруг у кого то только .doc поддерживается)
Но с браузерами... Ах! А вдруг он использует IE8? Ну даже пускай IE11.
Никто не мешает установить современный браузер практически на любом компе.

laimas 16.10.2020 10:18

Цитата:

Сообщение от voraa
Но с браузерами... Ах!

Цитата:

Сообщение от voraa
Никто не мешает установить современный браузер практически на любом компе.

Вашими бы устами да мед пить. :) Никто не мешает, но и не обязательно все кинулись устанавливать самое последнее, многие пользователи даже не знают как это делается, и это факт. Я не говорю уже о мобильных устройствах, где не только браузер может быть проблемой, но и само устройство. А их разношерстности может позавидовать любое волосатое животное. А есть еще масса "бесправных" пользователей работающих в сети тем, чем разрешает администратор.

Зачем равняться на тех, кто уже последнее продал ради приобретения нового айфоня. ;)

voraa 16.10.2020 11:13

Цитата:

Сообщение от laimas
Никто не мешает, но и не обязательно все кинулись устанавливать самое последнее, многие пользователи даже не знают как это делается, и это факт.

Но ведь устанавливали и DirectX новый и NET. И на docx все как то перешли.
Ты не будешь ничего делать, когда и так все работает. А вот когда перестанет....
Цитата:

Сообщение от laimas
Я не говорю уже о мобильных устройствах, где не только браузер может быть проблемой, но и само устройство.

Вот прямо сейчас. Взял свой старый гаджет 2012 г выпуска. И туда без проблем установился последний 86 хром.
И Firefox последний встал.

В этом случае не понятно, зачем всякие умы что то придумывают. Какие то новые стандарты в js, какие то классы, модули, новые атрибуты и элементы в html, номые свойства в css/
Ведь нифига это работать не будет на IE8 и в Netscape.

laimas 16.10.2020 11:39

Цитата:

Сообщение от voraa
Вот прямо сейчас. Взял свой старый гаджет 2012 г выпуска...

Ну не все же такие как вы доки. :) Буквально вчера я получал посылку на почте. Передо мной бабка отправляет, а еще большая часть таких как она, это с оплатой за коммуналку. И вот она изрекает, что с января, при оплате услуг на почте, будет взиматься комиссия. Начался базар, а кто-то из "продвинутых" сказал, что в банке или через терминал комиссии не будет. Эта бабулька и говорит, что для нее терминал, это как страшилка непонятная. Но в это же время она шмаляет иконками на своем телефоне так, словно спицами вяжет, что ей привычно. Просто она хотела войти в СМС, так как спросили ее номер телефона, и она думала, что ей пошлют ее. В курсе, конечно, что сейчас можно получить посылку по смс-извещению и с таким же подтверждением, без паспорта.

Все верно, это она изучила, ну либо дети научили. Но терминал при этом что-то непонятное для нее. Если ей дети не установят нового, вы думаете она сама это будет делать? Вряд-ли, что было по умолчанию, то и осталось.

Я тоже хотел бы, чтобы все браузеры сдохли, и появился один, строго соблюдающий рекомендации W3C, или если их много, то различаться должны только скоростью, сервисом и т.п., а все остальное трактоваться одинаково. А то эта конкуренция браузеров выглядит как упрямство идиотов. Но в реальности, что есть, то есть, и с этим приходится считаться.

voraa 16.10.2020 11:59

Цитата:

Сообщение от laimas
Все верно, это она изучила, ну либо дети научили. Но терминал при этом что-то непонятное для нее. Если ей дети не установят нового, вы думаете она сама это будет делать?

Вот если перестанет у нее работать, то дети все и установят. А пока работает и так - не будут. Т.е они то и сейчас установили бы. Но она их не просит. А зачем?
Цитата:

Сообщение от laimas
А то эта конкуренция браузеров выглядит как упрямство идиотов.

Конкуренции в виде "а вот мы такое крутое придумали, а у вас нет" - сейчас нет, на мой взгляд. Все производители браузеров входят в консорциум, который устанавливает стандарты. Есть просто опережение одних и запаздывание других в реализации этих стандартов. Иногда небольшое, иногда более значительное.
Самое плохое, что приходится думать об умерших браузерах, которые сами производители уже не поддерживают, и советуют забыть о них.

laimas 16.10.2020 12:03

Какие к черту стандарты, все что творится вокруг браузеров, это сплошное "бляд...о", другого слова подобрать трудно. И вряд-ли это закончится в скором будущем. )

voraa 16.10.2020 12:07

Цитата:

Сообщение от laimas
все что творится вокруг браузеров, это сплошное "бляд...о",

Ну нет. У современных браузеров все на порядок лучше, чем это было 7-10 лет назад.
Хотя конечно, кто т о опережает, кто то отстает в реализации стандартов. Но новое, что то свое, выходящее за рамки предложений о внесении в стандарт никто не изобретает.
Хотя и баги встречаются.

laimas 16.10.2020 12:15

voraa,
я и не говорю, что они почитают на лаврах еще со времен революции. Но до сих пор, особенно в CSS, ситуация далека от идеала. Такое впечатление, что разработчики браузеров считают так - "а куда они нахрен денутся", кивая в сторону разработчиков. Вот разработчики и карячатся. Все остальное, это философия с надеждой на ...

voraa 16.10.2020 12:17

А много ли браузеров осталось сейчас?
Хром, Файрфокс и Сафари. Что еще?

laimas 16.10.2020 12:18

А если говорить о багах, тут ... После недавнего обновления FF, в отладчике после обновления страницы по F5 перестает работать подсветка выбранного элемента. Причем на какой-то странице она может и работать, а на какой-то пропадает, пока не перезапустишь браузер.

voraa 16.10.2020 12:25

Это у них (у FF) бывает. Я в свое время на Хром перешел только потому, что после очередного обновления отладчик FF стал жутко глючить. Просто зависал.
Бедная компания. Многое чего работает странно. Про тот же pointerEvent, пишут, что все работает. Действительно все работает для одного пальца. А как вторым тыркаешь - жуткие глюки - какие то события лишние начинают непредсказуемо вываливаться...

laimas 16.10.2020 12:35

Цитата:

Сообщение от voraa
Я в свое время на Хром

Я послал Хром, и вообще им не пользуюсь. А все потому, что будучи еще сидя на Win7, стал он меня напрягать тем, что только я открою страницу закладок и начинаю использовать поиск, он меня начинает пугать тем, что с моего компьютера подозрительно много запросов. Свою каптчу подсовывает для проверки и т.д. Все это чуть не закончилось внесением меня в черный список.

Напрягло это меня, прошарил все в системе, проверяя и перепроверяя всем чем можно ее. При этом в сети подключено еще два компьютера, на них никакой проблемы.

Проверял и на чисто установленной системе, Win и Хром. Сначала все нормально, а спустя время как с цепи ... И не скажешь, что я только и делаю, что запускаю поиск гугла.

Обратился в техподдержку к ним, ну промычали они что-то стандартное в ответ, этим и закончилась поддержка. Послал я их на все три, использую Хром только при отладке конкретно под него.

Свет клином не сошелся на Хроме, сейчас все кроме FF, это тот же Хром по сути, если бы не навязывание своего поисковика, который не убрать, меня бы и современный IE устроил.

Rise 16.10.2020 17:16

У меня FF трафик жрал, просто открываешь, он начинает что-то качать, теперь стараюсь лишний раз не открывать, ну обновляю периодически, оценить степень деградации)

voraa 16.10.2020 17:28

Цитата:

Сообщение от Rise
оценить степень деградации

FF не так уж и плох.
Я как то делал тесты.
Если FF проигрывает по скорости Хрому в Javascript Ну там операции с массивами, объектами. Но этот проигрыш 10-20% максимум, то по операциям с DOM (appendChild, querySelector и проч.) FF опережает Хром в разы. В 4-6 раз быстрее.


Часовой пояс GMT +3, время: 10:15.