Я использую LiveValidation (http://livevalidation.com/), чтобы подтвердить форму на моем сайте для URL-адреса страницы. Моих условий:Livevalidation - Regex issue
- не может быть пустым
- должен начинаться с буквой
- Без пробелов не допускаются
- только буквенно-цифровые символов, тир и подчеркивание
До сих пор я имеют следующее:
var formName = new LiveValidation("sitePages-name");
formName.add(Validate.Presence);
formName.add(Validate.Format,{ pattern: /^[a-zA-Z]/, failureMessage: "Must start with a letter." });
formName.add(Validate.Exclusion, {within: [' '], partialMatch: true, failureMessage: "Spaces are not allowed."});
formName.add(Validate.Format,{ pattern:/[a-zA-Z0-9-_]+$/, failureMessage: "Only alpha-numeric characters, dashes and underscores."})
Выполнено первое и второе условия. Я борюсь с третьим и четвертым условиями «Без пробелов» и «Только буквенно-цифровые символы, тире и символы подчеркивания».
Я попытался выполнить пробел и четвертое условие с помощью регулярных выражений, но он не работал, поэтому я просто отделил пробелы от исключения на данный момент. Шаблон для четвертого условия работает, если символ, который вы только что набрали, не является одним из шаблонов регулярных выражений. Но если вы продолжаете набирать «действительные» символы и иметь ранее недействительный символ, ошибка исчезает и становится действительной.
Кто-нибудь знает, как правильно сделать шаблон, чтобы поймать его, если в поле ввода есть ЛЮБЫЕ «недействительные» символы? Было бы здорово, если бы я мог объединить условие отсутствия пространства с шаблоном, если это возможно.
Вы не связывал последнее регулярное выражение к началу строки, так что заботится только о самый конец. –
'/^[a-zA-Z] [a-zA-Z0-9 -_] * $ /' – ctn
Спасибо, Майкл, отлично работает сейчас! – Guest