Как мне написать условный оператор, используя jquery, который проверяет URL страницы или адрес электронной почты? - PullRequest
0 голосов
/ 01 ноября 2011

У меня есть два регулярных выражения для одного поля ввода пользователя, которое должно принимать URL страницы контакта веб-сайта или адрес электронной почты. Как я могу написать это в Jquery или Javascript? Вот мои два регулярных выражения.

regex for URL "((www\.|(http|https|ftp|news|file)+\:\/\/)[&#95;.a-z0-9-]+\.[a-z0-9\/&#95;:@=.+?,##%&~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])",


regex for email "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$",

 error messageelse "You must enter a valid email or you must enter a valid url, which starts with http://. The www prefix is optional.")

Ответы [ 3 ]

2 голосов
/ 01 ноября 2011

Демо - http://jsfiddle.net/A77fD/

Пример -

var url_regex = /((www\.|(http|https|ftp|news|file)+\:\/\/)[&#95;.a-z0-9-]+\.[a-z0-9\/&#95;:@=.+?,##%&~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])/;
var email_regex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/

$('#test').click(function(){
    console.log(url_regex.test($('#test_field').val()));
    console.log(email_regex.test($('#test_field').val()));

    if(!(url_regex.test($('#test_field').val()) || email_regex.test($('#test_field').val()))){
        alert("You must enter a valid email or you must enter a valid url, which starts with http://. The www prefix is optional.")
    }
})
0 голосов
/ 02 ноября 2011

Я бы порекомендовал использовать какую-нибудь библиотеку для проверки. Не нужно каждый раз изобретать велосипед.

jQuery имеет плагин, который может подойти: http://rocketsquared.com/wiki/Plugins/Validation

0 голосов
/ 01 ноября 2011

используйте regex.test ("url or email")

var regexU = /((www\.|(http|https|ftp|news|file)+\:\/\/)[&#95;.a-z0-9-]+\.[a-z0-9\/&#95;:@=.+?,##%&~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])/;
var regexEmail = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/

function validate() {
    if( regexUrl.test("url") || regexEmail.test("email")) {
    console.log("valid"); 
    } else {
      console.log("You must enter a valid email or you must enter a valid url, which starts with http://. The www prefix is optional.");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...