помогите сделать этот regExp в js - PullRequest
1 голос
/ 20 февраля 2010

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

  1. Это НЕ ТОЛЬКО ПРОСТРАНСТВА и НЕ ТОЛЬКО ВОЗВРАЩАЕТСЯ (новые строки), а НЕ ТОЛЬКО комбинация этих двух.
  2. Однако, если есть более 3 символов ИЛИ чисел, это нормально.
  3. Не более, чем, скажем, 2000 символов.

Представьте себе текстовое поле, я не хочу отправлять форму, если пользователь нажал клавишу ввода (новая строка) 5 раз, и я не хочу, чтобы она отправлялась только с пробелами. Должно быть не менее 3 символов или цифр.

Спасибо

1 Ответ

1 голос
/ 20 февраля 2010
/^\s*(\w[^\w]*){3}.*$/

Во-первых, разрешите вводить пробел. Затем сопоставьте букву / цифру, а затем 0 или более небуквенных / цифр 3 раза. Затем также сопоставьте любые другие найденные символы.

Будет соответствовать, только если есть хотя бы 3 буквы / цифры; между ними могут располагаться другие символы.

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

...