RegEx для поиска строки, чтобы не более 2 букв

1

Как написать JavaScript RegEx с приведенными ниже требованиями.

  • Только буквенно-цифровой
  • Длина строки должна составлять от 9 до 10
  • Может иметь максимум 2 буквы и минимум 0 в любом порядке в строке

Ниже я пишу. Кажется, работает частично.

\b(?=.*[a-zA-Z]{0,2})([a-zA-Z0-9]{9,10})\b

Это, похоже, работает, но принимает более трех букв.

  • 1234567890 (матч)

  • 12345B7T90 (матч)

  • AA123D4324 (матч, но это не должно быть совпадением, потому что у него больше двух букв)

  • 1
    Символ или буква?
  • 0
    Буквы. Исправил это :)
Показать ещё 2 комментария
Теги:

1 ответ

4
Лучший ответ

Вы можете использовать следующее регулярное выражение:

\b(?!(\d*[a-zA-Z]){3,})\w{9,10}\b

Он начинается с границы Word '\b', затем он использует негативный прогноз для:

\d* ноль или более цифр, за которыми следуют:

[a-zA-Z] письмо. Этого не должно быть:

{3,} 3 или более.

Если успех, совпадение между 9 и 10 символа Word и, наконец, boundary Word.

  • 0
    Спасибо, Пол. Ваше решение работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню