JQuery проверяет ввод адреса веб-сайта - PullRequest
0 голосов
/ 21 апреля 2011

У меня есть вводимый текст для адреса веб-сайта, и я хотел бы проверить его.

Примеры того, что должно быть разрешено: www.somesite.com или .net или .org или что-либо действительное дляадрес веб-сайта.

Вероятно, следует использовать jQuery или просто обычный Javascript

Ответы [ 5 ]

6 голосов
/ 21 апреля 2011

Отказ от ответственности: это чрезвычайно наивная реализация валидации URL, написанной в буквальном javascript regex, с целью объяснения идеи, стоящей за такой попыткой, этот код не предназначен для производственного использования в любом качестве.

Проверка URL с помощью регулярных выражений:

Следующий код будет работать для сечения случаев.Вы хотите убедиться, что эти случаи соответствуют вашим потребностям.URL - это широкие и разнообразные существа, включая возможное использование символов utf-8, которые не описаны в базовом наборе ниже.В этих случаях вы захотите узнать больше о регулярных выражениях (в любом случае, в любом случае стоит заняться разработкой javascript).

var urls = ['www.someurl.com', // true
            'www.someurl.net', // true
            'google.org', // true
            'not a url', // false
            'someone@funky.com', // false
            'http://www.yahoo.com', // true
            'https://www.clutter.org', // true
            'ftp://test.fail', // false
            'http://this.is.a/path/to/my/resource.html', // true
            'adress-with-hyphens.org']; // true
for( var i = 0, url; url = urls[i++]; ){

  console.log(url, /^(https?:\/\/)?([\w\d\-_]+\.)+\/?/.test(url));

}

, чтобы объяснить этот код :

  • / запускает регулярное выражение.
  • ( открывает группу выбора.
  • http - строка для поиска.
  • s? делает часть строки s необязательной.
  • : - поиск символа двоеточия.
  • \/ - это escape-символ, за которым следует символ для поиска (/), это полезно во многих случаях.
  • )? делает группу необязательной.

Следующая группа содержит поиск любого слова, цифры, дефиса или символа подчеркивания (один или несколько +), за которым следует . (\.).с последующим необязательным /./ в конце закрывает литерал регулярного выражения.test - это метод для любого объекта регулярного выражения, чтобы проверить, проходит ли его строка.Строка для проверки дается в качестве единственного аргумента.

4 голосов
/ 21 апреля 2011

Вы хотите использовать регулярные выражения.

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

Отличное место для начала изучения регулярных выражений (сокращение от Регулярных выражений) с регулярных выражений.info

У них есть удивительные руководства для начала

Когда вы узнаете о них, вы поймете, почему этот шаблон

[www]?\..*?\.(com|net|org)

означает, а почему нетотличный шаблон для использования на веб-сайте, хотя он будет работать.

Удачи и счастливой охоты

2 голосов
/ 17 января 2012

Я заметил, что ваш заголовок ссылается на jQuery - и хотя я предполагаю, что этот вопрос мертв, я решил опубликовать его для всех, кто придет.Этот плагин jQuery прост в использовании и довольно мощный.Хотя плагин излишне проверяет одно поле, это может быть полезно, если у вас есть другие проверки (включая обязательные поля) в той же форме.Приведенный ниже пример взят из документов.После запуска плагина вы просто добавляете классы для проверки.Вы можете создать таможню, если вам это нужно, но она немного сложнее.

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Использование простое:

$("#commentForm").validate();

Форма:

<form class="cmxform" id="commentForm" method="post" action="">
   <p>
     <label for="cname">Name</label>
     <em>*</em><input id="cname" name="name" size="25" class="required" minlength="2" />
   </p>
   <p>
     <label for="cemail">E-Mail</label>
     <em>*</em><input id="cemail" name="email" size="25"  class="required email" />
   </p>
   <p>
     <label for="curl">URL</label>
     <em>  </em><input id="curl" name="url" size="25"  class="url" value="" />
   </p>
   <p>
     <label for="ccomment">Your comment</label>
     <em>*</em><textarea id="ccomment" name="comment" cols="22"  class="required"></textarea>
   </p>
   <p>
     <input class="submit" type="submit" value="Submit"/>
   </p>
 </form>

И это все XD

1 голос
/ 21 апреля 2011

Я думаю, эта ссылка будет вам полезна ...

Проверка веб-сайта

1 голос
/ 21 апреля 2011
$.ajax({url: webpage ,type:'HEAD',error:function(){
alert('Oops !');
}});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...