Запрос на Javascript RegEx

Мне нужно регулярное выражение, которое позволяет использовать только символы 0-9, az, AZ, дефис, знак вопроса и косую черту. Также длина должна быть от 5 до 15.

Пожалуйста, помогите

Я попробовал как ниже, но это не работает.

var reg3 = /^([a-zA-Z0-9?-]){4,15}+$/;
alert(reg3.test("abcd-"));

3 ответа

длина должна быть от 5 до 15 только

Вот почему у вас есть это?

{4,15}+

Просто используйте {5,15}; это уже квантификатор, и + после того, как это не сработает. Кроме того, группа не нужна, но все должно работать.

/^[a-zA-Z0-9?/-]{5,15}$/

(Я также добавил косую черту.)

Это то, что вам нужно:

if (/^([a-z\/?-]{4,15})$/i.test(subject)) {
    // Successful match
} else {
    // Match attempt failed
}

РЕГЭКС ОБЪЯСНЕНИЕ

^([a-z\/?-]{4,15})$

Options: Case insensitive

Assert position at the beginning of the string «^»
Match the regex below and capture its match into backreference number 1 «([a-z\/?-]{4,15})»
   Match a single character present in the list below «[a-z\/?-]{4,15}»
      Between 4 and 15 times, as many times as possible, giving back as needed (greedy) «{4,15}»
      A character in the range between “a” and “z” (case insensitive) «a-z»
      The literal character “/” «\/»
      The literal character “?” «?»
      The literal character “-” «-»
Assert position at the very end of the string «$»

Пара вопросов,

  1. тебе нужно {5,15} вместо {4,15}+
  2. нужно включить /

Ваш код может быть переписан как

var reg3 = new RegExp('^[a-z0-9?/-]{5,15}$', 'i'); // i flag to eliminate need of A-Z
alert(reg3.test("a1?-A7="));

Обновить

Давайте не будем путать, может быть с НЕОБХОДИМОСТИ и сконцентрируемся на том факте, который я пытался донести.

{4,15}+ участие в /^([a-zA-Z0-9?-]){4,15}+$/ должно быть написано как {5,15}, а также / должен быть включен; который сделает ваше регулярное выражение

/^([a-zA-Z0-9?/-]){5,15}$/

который можно записать как

/^[a-z0-9?/-]{5,15}$/i   // i flag to eliminate need of A-Z

Также я надеюсь, что все в порядке с использованием /i

Другие вопросы по тегам