Шаблон RegEx для соответствия только определенным символам - PullRequest
21 голосов
/ 12 октября 2009

Я новичок в RegEx, и эта конкретная проблема сбивает меня с толку. Это для использования с функцией JavaScript.

Мне нужно проверить ввод, чтобы он соответствовал только этим критериям:

  • Буквы A-Z (прописные и строчные)
  • Числа 0-9
  • Следующие дополнительные символы: пробел, точка (.), Запятая (,), плюс (+) и тире (-)

Я могу достаточно легко написать шаблон для первых двух критериев, но третий сложнее. Это последний шаблон, который мне удалось обработать, но он не работает с тестовой строкой Farh%%$$+++,

Любая помощь будет принята с благодарностью.

Спасибо.

Ответы [ 5 ]

31 голосов
/ 12 октября 2009

Я только что проверил это, и, похоже, оно работает, по крайней мере, с моего первого раунда тестирования.

^[a-zA-Z 0-9\.\,\+\-]*$
7 голосов
/ 12 октября 2009

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

/^[-+., A-Za-z0-9]+$/
2 голосов
/ 12 октября 2009
/^[a-z0-9 .,+-]+$/i
0 голосов
/ 06 сентября 2018

Только для проверки селектора в качестве идентификатора (в соответствии с разрешенными символами https://www.w3.org/TR/html4/types.html#type-id):

var isValidIdSelector = function (str) {
    var regex = new RegExp(/^[A-Za-z][A-Za-z0-9_\-\:\.]*$/gm);
    return regex.test(str);
};
0 голосов
/ 19 октября 2016
ng-pattern="/^[a-zA-Z0-9/&quot&quot\\\]\[:;|=,+*?<>]+$/"

позволяет: буквенно-цифровой + "/ \ []:; | =, + *? <>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...