простой валидатор регулярных выражений - PullRequest
1 голос
/ 24 января 2009

Как мне создать валидатор, который имеет эти простые правила. Выражение допустимо, если

должно начинаться с буквы
оно должно заканчиваться буквой
может содержать тире (знак минус), но не в начале или в конце выражения

Ответы [ 7 ]

1 голос
/ 24 января 2009
^[a-zA-Z]+-?[a-zA-Z]+$

* 1002 Е.Г. *

def validate(whatever)
  reg = /^[a-zA-Z]+-?[a-zA-Z]+$/
return (reg.match(whatever)) ? true : false;
end
0 голосов
/ 13 февраля 2009

Ну

[A-Za-z].*[A-Za-z]

По вашим правилам это будет работать. Это будет соответствовать всему, что:

  • начинается с буквы
  • заканчивается буквой
  • может содержать тире (среди всего прочего) между ними.
0 голосов
/ 25 января 2009

Что я имел в виду, чтобы иметь возможность создавать теги. Например: «Дикие вещи», «Что-то дикое», «В дикие» или «В пустыню», «Мой дикий мир» и т. Д.

0 голосов
/ 25 января 2009
/^[A-Za-z]+(-?[A-Za-z]+)?$/

это похоже на то, что вы хотите.

^ = соответствует стартовой позиции
^ [A-Za-z] + = начальная позиция сопровождается хотя бы одной или несколькими буквами.
-? = есть ноль или один дефис (используйте «*», если в строке может быть несколько дефисов).
[A-Za-z] + = дефис сопровождается одной или несколькими буквами
(-? [A-Za-Z] +)? = для случая, когда есть одна буква.
$ = соответствует конечной позиции в строке.

0 голосов
/ 25 января 2009
^[A-Za-z].*[A-Za-z]$

Другими словами: буква, что угодно, буква.

Может также хотеть:

^[A-Za-z](.*[A-Za-z])?$ 

так, чтобы одна буква также соответствовала.

0 голосов
/ 25 января 2009

xmammoth в значительной степени получил это, с одной незначительной проблемой. Мое решение:

^[a-zA-Z]+\-?[a-zA-Z]+$

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

0 голосов
/ 25 января 2009

Это регулярное выражение соответствует последовательностям, состоящим из одного или нескольких слов букв, которые объединяются черточками.

^[a-zA-Z]+(?:-[a-zA-Z]+)*$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...