Как избежать предоставления конечного пользователя URL-адреса в текстовом JQuery - PullRequest
0 голосов
/ 06 декабря 2010

Я хочу, чтобы пользователь не отправлял URL-адреса веб-сайтов в текстовой области, используя (JQuery) проверку на стороне клиента. Я использую плагин Validation .

Пример:

http://www.example.com

Мне нужно проверить, когда пользователь вводит http: // или www в текстовую область

Ответы [ 3 ]

3 голосов
/ 06 декабря 2010

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

 $.validator.addMethod('no_url', function validatePositionNummer(value){

            var re = /^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$/;
            var trimmed = trim(value);
            if( trimmed == ''){
                return true;
            }
                return trimmed.match(re);

        },"No URLs allowed!");

Затем вы просто добавляете свой новый метод проверки к элементу:

 $("#your_form").validate({ 
textarea: no_url 
});

Вы должны были бы настроить регулярное выражение курса.

2 голосов
/ 06 декабря 2010

URL или ссылки? Есть разница.

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

1 голос
/ 08 декабря 2010

@ BernardMarx Спасибо за решение.

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

Например:

http://www.example.com/index.php

http://www.example.php/home/

$.validator.addMethod('no_url', function validatePositionNummer(value){

    var re = /^[a-zA-Z0-9\-\.\:\\]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$/;

    var  re1 = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; 

    var trimmed = $.trim(value);

    if( trimmed == '' ){

       return true;
    }

    if( trimmed.match(re) == null && re1.test(trimmed) == false){

       return true;
    }

},"No URLs allowed!");
...