Как я могу предотвратить запись URL-адресов внутри моего поля ввода с помощью проверки JQuery? - PullRequest
0 голосов
/ 06 июня 2019

Мы используем библиотеку https://jqueryvalidation.org/ для проверки контактной формы на нашем веб-сайте.

Подробности будут отправлены на 3rd party web service

jQuery("#contactform").validate({ // initialize the plugin
    rules: {
        name: {required:true},
        email: {required:true},
        phonenumber: {required:true}
    },
    submitHandler: function(form, evt) {
        evt.preventDefault();
        var name = jQuery('#name').val();
        var email = jQuery('#email').val();
        var phonenumber = jQuery('#phonenumber').val();
        var contactform_url = jQuery("#contactform").attr('action');

        jQuery.ajax({
            type: "POST",
            url: contactform_url,
            cache: false,
            data: {
                name: name,
                email: email,
                phonenumber: phonenumber
            },
            beforeSend: function() {
            }
        }).done(function(data, textStatus, jqXHR) {
        }).fail(function(jqXHR, textStatus, errorThrown) {
        });

    }
});

Проблема : текущая проверка не может помешать пользователю ввести url в поле ввода name

, поэтому var name = jQuery('#name').val(); может иметь значение https://www.google.com/

DoВы знаете, как я могу избежать того, чтобы пользователи вводили link или url в наше поле ввода name или, по крайней мере, преобразовывали URL в string?

. Любая помощь очень ценится.Спасибо

1 Ответ

0 голосов
/ 06 июня 2019

Попробуйте следующий код, надеюсь, он будет работать для вас

$('#name').on('input', function() {
    var input=$(this);
    if (input.val().substring(0,4)=='www.'){input.val('http://www.'+input.val().substring(4));}
        var re = /(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/;
        var is_name=re.test(input.val());
            if(is_name){
                alert('valid');
            }
        }
        else{
            alert('invalid');
        }
    });

Ваше второе условие заполнено здесь

var url = "google.com";

var lastCom = url.slice(-3);

alert(lastCom); // "com"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...