Шаблон RegEx для соответствия только определенным символам

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

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

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

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

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

Спасибо.

Ответ 1

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

^[a-zA-Z 0-9\.\,\+\-]*$

Ответ 2

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

/^[-+., A-Za-z0-9]+$/

Ответ 3

/^[a-z0-9 .,+-]+$/i

Ответ 4

Только для проверки селектора в качестве идентификатора (в соответствии с разрешенными символами 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);
};

Ответ 5

Я пытался это ^ [- +., A-Za-z0-9] + $ в Oracle SQL Developer, но он дает только записи с алфавитами. Пожалуйста, дайте мне знать, если есть некоторые правила регулярных выражений для оракула

Ответ 6

ng-pattern="/^[a-zA-Z0-9/&quot&quot\\\]\[:;|=,+*?<>]+$/"

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