Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.03.2019, 01:37
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от MC-XOBAHCK
То есть эмодзи это цифры?
Но если только в квадратик обвести цифру, то можно так сказать 0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣

/\d/ означает /[0-9]/
/\D/ означает /[\u0000-\u002f\u003a-\uffff]/, т. е. все кодовые точки в диапазоне с U+0000 по U+FFFF кроме тех, что находятся с U+0030 по U+0039.

Поскольку 1️⃣ 2️⃣ 3️⃣ и т. д. технически состоят из числа(с U+0030 по U+0039), U+FE0F VARIATION SELECTOR-16 и U+20E3 COMBINING ENCLOSING KEYCAP, то /\D/ способен понизить «эмоциональность» чисел!
alert("0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣".replace(/\D/g, ""))


Поскольку кодовые точки начиная с U+10000 представлены как сурргатные пары /[\ud800-\ud8ff][\udc00-\udfff]/, то не-цифра находится так... /[\ud800-\ud8ff][\udc00-\udfff]|[\u0000-\u002f\u003a-\uffff]/

Ваш пример...
<input>

<script>
	const input = document.querySelector("input");
	
	input.addEventListener("input", () => {
		input.value = input.value.replace(/[\ud800-\ud8ff][\udc00-\udfff]|[\u0000-\u002f\u003a-\uffff]/g, "");
	})
</script>


Выражение /[\ud800-\ud8ff][\udc00-\udfff]|[\u0000-\u002f\u003a-\uffff]/ слишком запутанно, может это можно как-то упростить? Что-бы можно было написать примерно так /\D/.

Как сказать-то... The "u" flag to the rescue!

Флаг "u" понимает, что суррогатные пары нужно воспринимать как один символ! /\D/u

Ваш пример...
<input>

<script>
	const input = document.querySelector("input");
	
	input.addEventListener("input", () => {
		input.value = input.value.replace(/\D/gu, "");
	})
</script>


Если вы хотите писать красивые и читаемые регулярные выражения и вы используете исключающие диапазоны, то вам всегда нужен флаг "u", если только вы не собираетесь вручную задавать диапазон суррогатных пар.

Сообщение от MC-XOBAHCK
А тут вместо гавняшки кракозябы вылазят.
Да, странно, до сих пор не исправили! 😕 Хотя я уже поднимал эту тему, и даже намекнул, в чём проблема! https://javascript.ru/forum/site/666...propustil.html
Ответить с цитированием
  #12 (permalink)  
Старый 19.03.2019, 02:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Malleys
Хотя я уже поднимал эту тему, и даже намекнул, в чём проблема!
может попробовать написать прямо админу https://javascript.ru/forum/members/1-ilya-kantor/ ?
Ответить с цитированием
  #13 (permalink)  
Старый 19.03.2019, 02:25
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Сообщение от Malleys Посмотреть сообщение
Если вы хотите писать красивые и читаемые регулярные выражения и вы используете исключающие диапазоны, то вам всегда нужен флаг "u", если только вы не собираетесь вручную задавать диапазон суррогатных пар.
Спасибо за науку! У меня в шпоргалке такого флага нет, добавил - буду изучать.
Ответить с цитированием
  #14 (permalink)  
Старый 19.03.2019, 05:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от MC-XOBAHCK
У меня в шпоргалке такого флага нет
К куцым базовым возможностям RegExp в JS не только этот флаг добавлен, есть и иное, что давно пора было добавить, но как всегда - не все даже среди последних браузеров поддерживают, а есть и поддержка, но с багами.
Ответить с цитированием
  #15 (permalink)  
Старый 19.03.2019, 10:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Внимание всем! может кто-то описать 1.в чём проблема с эмодзи на форуме?
2. как это можно решить?
Ответить с цитированием
  #16 (permalink)  
Старый 19.03.2019, 12:20
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,705

рони, мб. проблема в кодировке бд?
Ответить с цитированием
  #17 (permalink)  
Старый 19.03.2019, 12:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Nexus,
я плохо разбираюсь в данной тематике, не могу даже прокомментировать твоё сообщение, есть желание довести лаконично до админа данную проблему, которую самостоятельно я даже не могу внятно описать.
Ответить с цитированием
  #18 (permalink)  
Старый 19.03.2019, 13:07
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,705

рони, без знания используемой кодировки бд сложно сказать в этом дело или нет.

Прочитайте "вступление" и раздел "Немного о кодировках и представлениях", это должно дать понимание того, о чем я пишу:
https://codex.so/mysql-and-emoji
Ответить с цитированием
  #19 (permalink)  
Старый 19.03.2019, 13:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Nexus,
Сообщение от Админ
БД в unicode
Ответить с цитированием
  #20 (permalink)  
Старый 19.03.2019, 13:29
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Сообщение от laimas Посмотреть сообщение
К куцым базовым возможностям RegExp в JS не только этот флаг добавлен, есть и иное, что давно пора было добавить, но как всегда - не все даже среди последних браузеров поддерживают, а есть и поддержка, но с багами.
А где следить за этими новинками? На MDN или есть отдельный сайт?

Так как у меня проблемы с регулярками, я себе в тетрадку выписал разные правила для регулярок и поставил её возле монитора. Из флагов у меня было три: i, g, m. Добавил вчера u, но описания для него ещё не нашёл.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бесплатный Сервис для создания блога для программиста khusamov Оффтопик 34 27.05.2015 17:28
[job] JS-разработчик (+Angular) на UI внутреннего проекта (для других разработчиков:) Anna-HR Работа 12 19.01.2015 13:50
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31
Подскажите готовое решение для выделения различных областей на картинке micscr Элементы интерфейса 4 30.08.2012 17:28