Javascript - указать символ дефиса в регулярном выражении

программирование JavaScript регулярные выражения regexp

Никак не получается реализовать сабж. Пишу выражение, пропускающее все цифры \ буквы, надо пропускать вместе с ними еще и дефис. Сделал так:

var reg = /[^\x2d-A-Za-zА-Яа-яЁё]/g; //\x2d - символ дефиса

но вместо дефиса пропускает "=". Если просто написать

var reg = /[^-A-Za-zА-Яа-яЁё]/g;

то вообще не срабатывает на нужном символе. Как быть?
Ответы:
Спецсимволы экранируются слешем: \-
Не срабатывает, потому что в квадратных скобках дефис означает соответствие маске всех символов, входящих в указываемый диапазон


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.