Проверьте пользовательские поля ввода URL с помощью jQuery & Regex - PullRequest
1 голос
/ 05 августа 2011

Так что в основном я пытаюсь проверить URL (http://www.x) - в настоящее время работает - и, кроме того, проверить jsFiddle (ввод должен начинаться с "http://www.jsfiddle.net/") & stackoverflow URLs (ввод должен начинаться с" http://www.stackoverflow.com/")

Вот рабочая скрипка http://jsfiddle.net/eAnS9/

Валидацией является плагин проверки bassistance , который задокументирован здесь .

Любая идея, какправильно проверить поля на основе их начальных значений?

ОБНОВЛЕНИЕ: Он должен работать с / интегрировать с проверкой тока bassistance, может быть, как пользовательская функция url в исходном коде bassistance? (естьгде регулярное выражение URL)

Ответы [ 2 ]

2 голосов
/ 09 августа 2011

Используйте validator.addMethod() для создания пользовательского правила.Вот что нужно сделать:

//--- Add a domain-check rule
jQuery.validator.addMethod ("domainChk", function (value, element, params) {

        if (this.optional (element) )
            return true;

        //--- Get the target domain, this will be in the rel attribute.
        var targDomain  = $(element).attr ("rel");
        var regExp      = new RegExp ("^https?:\/\/(www.)?" + targDomain + "\/", "i");

        return regExp.test (value);
    },
    function errmess (params, element) {
        return "This must be a valid URL for " + $(element).attr ("rel");
    }
);

Теперь подключите его к классу CSS.:

jQuery.validator.addClassRules ( { domainChk: {domainChk: true} } );


Правило domainChk предполагает, что требуемый домен находится в атрибуте rel ввода, например:

<input class="field required url domainChk" rel="jsfiddle.com"      ...>
<input class="field required url domainChk" rel="stackoverflow.com" ...>


Вот и все! Смотрите все это в действии на jsFiddle.

0 голосов
/ 06 августа 2011

может быть лучше, но

   var Reg = /https?:\/\/(w{3}\.)?(jsfiddle|stackoverflow)(.com\/)/

это то, что я использовал. http://jsfiddle.net/eAnS9/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...