Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2012, 17:28
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

Регулярка и графические символы UTF-8
Всем привет!
Имеется необходимость в строке выявлять и убирать все графические символы наподобии этих ☨ ☩ ☪ ☫ ☬ ☭ ☮ и т.д.
Пробовал по разному, да все безрезультатно.
Это
(/[[:graph:]]/).test('⊕⊖⊗');
не срабатывало.
Что посоветуете?

Последний раз редактировалось tazododu, 05.12.2012 в 17:35.
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2012, 18:01
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Выкосите нежелательные символы по их кодам (диапазонам кодов)

var str = "Всякие графические значки: ☨ ☩ ☪ ☫ ☬ ☭ ☮; допустимые символы: у Ψﮖ ६ ऒ ༃ 걜 ぼ ₩ Ѩ ∰";
alert(str.replace(/[\u2600-\u27BE]/g, ""));
Ответить с цитированием
  #3 (permalink)  
Старый 05.12.2012, 18:51
Аспирант
Отправить личное сообщение для schmetterling Посмотреть профиль Найти все сообщения от schmetterling
 
Регистрация: 02.12.2012
Сообщений: 30

tazododu, либо можно определить список допустимых символов (этот не претендует на полноту:

var reg= /[^\s\d\wа-яА-Яё`.\/\\?,-:;!]/g;
var str= "Всякие графические значки: ☨ ☩ ☪ ☫ ☬ ☭ ☮; допустимые символы: у Ψﮖ ६ ऒ ༃ 걜 ぼ ₩ Ѩ ∰; А ещё цифры: 123, 456; разные знаки препинания, latinskie bukvy, и так далее";
alert(str.replace(reg, ""));
Ответить с цитированием
  #4 (permalink)  
Старый 06.12.2012, 14:14
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

Сообщение от Amphiluke Посмотреть сообщение
Выкосите нежелательные символы по их кодам (диапазонам кодов)

var str = "Всякие графические значки: ☨ ☩ ☪ ☫ ☬ ☭ ☮; допустимые символы: у Ψﮖ ६ ऒ ༃ 걜 ぼ ₩ Ѩ ∰";
alert(str.replace(/[\u2600-\u27BE]/g, ""));
А не подскажете, как узнать точно диапазон? Откуда вы взяли \u2600-\u27BE?
Ответить с цитированием
  #5 (permalink)  
Старый 06.12.2012, 14:18
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

Сообщение от schmetterling Посмотреть сообщение
tazododu, либо можно определить список допустимых символов (этот не претендует на полноту:

var reg= /[^\s\d\wа-яА-Яё`.\/\\?,-:;!]/g;
var str= "Всякие графические значки: ☨ ☩ ☪ ☫ ☬ ☭ ☮; допустимые символы: у Ψﮖ ६ ऒ ༃ 걜 ぼ ₩ Ѩ ∰; А ещё цифры: 123, 456; разные знаки препинания, latinskie bukvy, и так далее";
alert(str.replace(reg, ""));
Перечислять слишком много прийдется, необходимо чтобы проходили украинские Ґ, Ї, всякие ä, é и тому подобные буквы.
Ответить с цитированием
  #6 (permalink)  
Старый 06.12.2012, 15:40
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Сообщение от tazododu
А не подскажете, как узнать точно диапазон? Откуда вы взяли \u2600-\u27BE?
Таблица символов в помощь.
Ответить с цитированием
  #7 (permalink)  
Старый 06.12.2012, 19:25
Аспирант
Отправить личное сообщение для tazododu Посмотреть профиль Найти все сообщения от tazododu
 
Регистрация: 18.02.2010
Сообщений: 90

Сообщение от Amphiluke Посмотреть сообщение
Таблица символов в помощь.
Спасибо за помощь!
Ответить с цитированием
Ответ



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

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