Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

JS вырезка опасных символов.

714
22 января 2010 года
clgs
226 / / 29.10.2008
Доброе время суток.
Извиняюсь, но час google'ния не привили к нужному результату.
Вообщем задача следующая: в поле input человек вводит URL-путь (только имя одного элемента) без домена, "/", "." и т.д., а скрипт в реально времени переводит в транслит (это без проблем), и должен вырезать опасные, а точнее не разрешенные символы, оставляя только a-z-
нужен регулярник для replace.
Заранее спасибо.
253
22 января 2010 года
Proger_XP
1.5K / / 07.08.2004
Вот здесь есть описание символов, которых не должно быть в именах файлов. Так что заменяй все
 
Код:
<>/\:"|?*

на подчеркивание (или что угодно), а потом делай encodeURI()
92
22 января 2010 года
Тень Пса
2.2K / / 19.10.2006
не надо говорить, что гугление ничего не дало, и то, что изгуглил весь интЫрнет... потому что смешно читать...
через 2 минуты гугл сказал мне:
О ищущий... да найдёшь ты всё, что тебе нужно по URL'ам в RFC 3986...
[quote=RFC 3986]
2.2. Reserved Characters

URIs include components and subcomponents that are delimited by
characters in the "reserved" set. These characters are called
"reserved" because they may (or may not) be defined as delimiters by
the generic syntax, by each scheme-specific syntax, or by the
implementation-specific syntax of a URI's dereferencing algorithm.
If data for a URI component would conflict with a reserved
character's purpose as a delimiter, then the conflicting data must be
percent-encoded before the URI is formed.
reserved = gen-delims / sub-delims

gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"

sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="


.............................................

2.3. Unreserved Characters

Characters that are allowed in a URI but do not have a reserved
purpose are called unreserved. These include uppercase and lowercase
letters, decimal digits, hyphen, period, underscore, and tilde.

unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"

[/quote]
253
22 января 2010 года
Proger_XP
1.5K / / 07.08.2004
Ну по идее всё это делается одним encodeURIComponent()
p.s: RFC слишком большое, чтобы его гуглить :D
714
22 января 2010 года
clgs
226 / / 29.10.2008
ну собственно мне это было нужно
 
Код:
str.replace(/[^0-9a-z-]/gim, "-")


Спасибо за ответы =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог