Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2014, 10:50
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

Ругулярные выражения как исключить символ "\"
Подскажите почему проходит символ \ ?
var reg = /^[А-Яа-яёЁA-Za-z0-9.,!?()\s+:;-]+$/;
console.log(reg.test(" \ "));
Ответить с цитированием
  #2 (permalink)  
Старый 25.09.2014, 10:56
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

поправил
var reg = /^[А-Яа-яёЁA-Za-z0-9.,!?()\s+:;-]+$/;
console.log(reg.test('\\'));

Последний раз редактировалось skrudjmakdak, 25.09.2014 в 10:59.
Ответить с цитированием
  #3 (permalink)  
Старый 25.09.2014, 11:02
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Tek, потому что этого символа нет. Есть пробел и экранированный пробел(===пробел), т.е. 2 пробела.
console.log(" \ ");
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 25.09.2014, 11:03
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

Сообщение от skrudjmakdak Посмотреть сообщение
поправил
var reg = /^[А-Яа-яёЁA-Za-z0-9.,!?()\s+:;-]+$/;
console.log(reg.test('\\'));
Эм ругулярка то осталось прежней...
Ответить с цитированием
  #5 (permalink)  
Старый 25.09.2014, 11:05
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

Сообщение от skrudjmakdak Посмотреть сообщение
поправил
var reg = /^[А-Яа-яёЁA-Za-z0-9.,!?()\s+:;-]+$/;
console.log(reg.test('\\'));
Сообщение от Aetae Посмотреть сообщение
Tek, потому что этого символа нет. Есть пробел и экранированный пробел(===пробел), т.е. 2 пробела.
console.log(" \ ");
ясно, спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 25.09.2014, 11:05
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Сообщение от Tek Посмотреть сообщение
Эм ругулярка то осталось прежней...
дело не в регулярке, а в строке. вам уже сказали. что у вас 2 пробела. а в регулярке указывается что надо пробелы включать в поиск, вот он вам и находит
Ответить с цитированием
  #7 (permalink)  
Старый 25.09.2014, 11:07
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Потому что \ экранирует символ следующий за ним, в данном случае пробел. Пробел разрешен в регулярке, следовательно - true;
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
While как условные выражения Latro Общие вопросы Javascript 23 27.06.2010 14:53
Как удалить последний символ строки? PAMAC Events/DOM/Window 5 18.10.2009 15:01
Как узнать в каком регистре напечатан русский символ на яваскрипте IGAHDF Я не знаю javascript 2 28.05.2009 19:50
Как узнать символ по unicode-коду??? alexKniaz Общие вопросы Javascript 3 25.10.2008 23:26