Я использую url для того чтобы раскрыть страницу html, и я посылаю данные в querystring с url страницы. ex: abc.html? FirstParameter = firstvalue & seconedParameter = seconedvalue Проблема в том, что если значение «firstvalue» или «secondvalue» в параметре содержит специальный символ типа #, (,),%, {, то мой url не строит хорошо , В этом случае URL не проверяется. Я делаю все это в javascript. может любой орган, пожалуйста, помогите мне это.escaping специальный символ в url
ответ
вас есть 3 варианта:
escape() will not encode: @*/+
encodeURI() will not encode: [email protected]#$&*()=:/,;?+'
encodeURIComponent() will not encode: ~!*()'
Но в вашем случае, если вы хотите, чтобы передать URL в качестве параметра GET другой страницы, вы должны использовать побег или encodeURIComponent, но не encodeURI,
Для обеспечения безопасности и обеспечения того, чтобы вы избежали всех зарезервированных символов, указанных в RFC 1738 и RFC 3986, вы должны использовать комбинацию encodeURIComponent, escape и замену для звездочки ('*') следующим образом:
encoded = encodeURIComponent(parm).replace(/[!'()]/g, escape).replace(/\*/g, "%2A");
[Объяснение] Хотя RFC 1738: Uniform локаторы ресурсов (URL) указывает, что *, «, (и) символы могут быть оставлены неперекодированный в URL,
Таким образом, только! alphanumerics, специальные символы «$ -_. +! * '(),» и зарезервированные символы, используемые для их зарезервированных целей, могут использоваться , не назначенные в URL.
RFC 3986, страницы 12-13, указывает, что эти специальные символы зарезервированы в качестве разделителей.
зарезервированных = генераторный delims/суб-delims
генераторного delims = ":" "?"/"/"// "#"/"["/"]"/"@"
sub-delims = "!"/"$"/"&"/"'"/"("/")" /"*"/"+"/","/";"/"="
Функция escape() устарела, но может использоваться для URL-кодирования восклицательного знака, одинарной кавычки, левого скобки и правой скобки. И так как существует некоторая двусмысленность в отношении того, должна ли звездочка быть закодирована в URL-адресе, и это не мешает кодировать, ее можно явно кодировать, используя что-то вроде вызова функции replace(). [Обратите внимание, что функция escape() передается как second parameter to the first replace() function call. Как используется здесь, замените вызовы функцией escape() один раз для каждого соответствующего специального символа!, ', (Или), и escape просто возвращает «escape-последовательность» для этого символа для замены, который повторно собирает любые экранированные символы с другим фрагменты.]
Также см 'https://stackoverflow.com/questions/6533561/urlencode-the-asterisk-star-character'
Также в то время как некоторые сайты даже определили asterkisk (*) как зарезервированный символ в RFC3986, они не включают его в their URL component encoding tool.
Unencoded URL Parms:
parm1=this is a test of encoding [email protected]#$%^&*()'
parm2=note that * is not encoded
закодированные URL Parms:
parm1=this+is+a+test+of+encoding+%21%40%23%24%25%5E%26*%28%29%27
parm2=note+that+*+is+not+encodeds+not+encoded
- 1. Как отключить специальный символ escaping java Node
- 2. Установить специальный символ в URL
- 3. .yml-файл и Symfony2/Doctrine2 - Escaping специальный символ в пароле
- 4. escaping специальный символ из запроса asp и ms запроса строки
- 5. PyQt: Специальный символ в setStyleSheet url()
- 6. Как использовать специальный символ (?) В URL
- 7. Специальный символ в URL-адресе игнорируется браузерами
- 8. Специальный символ символ замены «»»
- 9. Escaping In Python 3.3.2 Специальный персонаж
- 10. Специальный символ в Scala символ
- 11. специальный символ " '
- 12. Htaccess: URL перенаправления, который содержит специальный символ
- 13. Удалить специальный символ? из URL с .htaccess
- 14. параметров URL PHP добавить специальный символ возврата
- 15. escaping = символ в строке java
- 16. Escaping * символ в cshell псевдоним
- 17. специальный символ # в строке
- 18. Специальный символ в латекс
- 19. специальный символ в UNIX
- 20. Специальный символ в NSString
- 21. Специальный символ в программе
- 22. Специальный символ/Unicode/специальный символ в слово от php
- 23. escaping ampersand в url
- 24. Заменить специальный символ в htaccess
- 25. Специальный символ в img src (@)
- 26. Safari - Специальный символ в заголовке
- 27. Добавить символ или специальный символ в NString?
- 28. Кодировать специальный символ Unicode (символ) в Python?
- 29. web.config полномочия ролей символ escaping
- 30. Специальный символ: «^ @» перед EOF
Thanx Йогеш, пожалуйста, вы можете сказать мне, как использовать эти способы в JavaScript. я могу вызвать эти методы, такие как URL.escape(); – ARV
thanx yogesh, это сработало. – ARV