Захватите наклонную черту влево в JavaScript

Использование контрольного устройства jQuery должно создать правило отвергнуть spl знакам в областях.

jQuery.validator.addMethod("noSpecialChar", function(value,element) {
    if(value.match(/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]/)){
      return false;
    }else{
      return true;
    }
  }, "No Special Charaters are allowed.");

регулярное выражение использует, не захватывает "\" наклонная черта влево.

кто-то может, пожалуйста, помочь мне на этом?

0
nl ja de
Вместо исключения всех специальных символов этот путь вы могли просто позволить алфавитно-цифровые символы? [0 9a зон действий Z] ?
добавлено автор Anirudh Ramanathan, источник
добавьте '\\' к regexp знакам
добавлено автор user180100, источник

2 ответы

Необходимо включать наклонную черту влево в класс символов:

if(value.match(/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/\\]/))

Но что относительно других "специальных символов" как § ? Список почти бесконечен - возможно, требуется исключить все знаки за исключением зона действий z0 9 _ :

if (value.match(/\W/))
3
добавлено
@SriHarish: Выезд regex101.com.
добавлено автор Tim Pietzcker, источник
только некоторые компания spl персонажей обязаны исключать... Спасибо за помощь....:)
добавлено автор SriHarish, источник
Мог бы казаться странным, но можете вы, пожалуйста, такой инструмент онлайн составляет reg исключая...
добавлено автор SriHarish, источник

Наклонная черта влево \ является символом ESC так, чтобы включать буквальную наклонную черту влево в регулярное выражение (или последовательность), необходимо избежать самого характера наклонной черты влево, т.е. \\.

В вашем классе символов сингл \ используется, чтобы убежать ] , чтобы препятствовать тому, чтобы он интерпретировался как метахарактер, который закрывает класс символов.

Другой \ в вашем классе символов ненужные, поскольку ] единственный метахарактер, которого нужно избежать в нем.
] , \, ^ и - является единственными знаками, которые, возможно, должны избежаться в классе символов.

Как уже упомянуто, можно быть лучше, чтобы определить то, какие знаки отвергнуты, ища знаки, которые не являются в указанной группе, например.

/[^a-z\d\s]/i

который отвергает любым знакам не a-z , A-Z , 0-9 или пробел ( \d коротко для 0-9 и , я имею в виду нечувствительный к регистру).

Кроме того, вместо , если еще заявление и матч , вы могли бы просто использовать

return !value.test( /[^a-z\d\s]/i )

хотя можно счесть его менее удобочитаемым (! инвертирует булев результат тест требование).

0
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda