Разрешить только английские строчные буквы в поле ввода - PullRequest
0 голосов
/ 03 ноября 2018

Добрый вечер. Я создал функцию для поля ввода, в которой пользователю предлагается выбрать URL для своей учетной записи.

Часть, которая связывается с базой данных, которую я создал, и отлично работает. Также кусок, чтобы сделать буквы ниже.

Но я не знаю, как в округе принимать специальные символы и пробелы.

Я нашел какое-то решение в интернете, но введите его, чтобы вызвать вторую функцию. Я не хочу менять свою функцию. Я хочу как-то слить в мою существующую функцию.

Мой HTML

<input type="text" name="urlcheck" value="" id="urlcheck" class="form-control" placeholder="Write your url. " required  onkeyup="urlcheck()"/>

Мой JS

function urlcheck(){  

var x = document.getElementById("urlcheck");
x.value = x.value.toLowerCase();

var urlcheck = $('#urlcheck').val();  
    if(urlcheck != '')  
           {  
    $.ajax({  
      url:"<?php echo base_url(); ?>portolio/check_url",  
      method:"POST",  
      data:{url:url},  
      success:function(data){ 
      data.trim();
      if(data == '1') {
                             $('#url_result').html('<label class="text-danger">Url is not free</label>'); 
    } else {   
$('#url_result').html('<label class="text-success">Url is free.</label>');

                             }
                         }
                });  
           }  
}; 

Решение, которое я нахожу, но я не знаю, как это слияние:

    <script type="text/javascript">
    function blockSpecialChar(e){
        var k;
        document.all ? k = e.keyCode : k = e.which;
        return ((k > 96 && k < 123) || k == 8 || (k >= 48 && k <= 57));
        }
    </script>
</head>
<body>
    <form id="frm" runat="server">
      <input type="text" name="folderName"  onkeypress="return blockSpecialChar(event)"/>
    </form>

Итак ... Мне нужна помощь, как "вставить" нижний код в мою функцию ajax

var k;
            document.all ? k = e.keyCode : k = e.which;
            return ((k > 96 && k < 123) || k == 8 || (k >= 48 && k <= 57));

EDIT: В моем поле ввода мне не нужно от пользователя, чтобы написать весь URL. Только последняя часть. Например, если пользователь хочет иметь example.com/myname. Пользователь должен заполнить myname . Что я хочу проверить!

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

Вам не нужно программировать JavaScript для этой задачи. Просто используйте атрибут pattern.

Попробуйте мой исполняемый фрагмент. Введите не буквенно-цифровой символ, затем нажмите «Отправить». Представление будет остановлено.

<form>
<input type="text" placeholder="example.com/[your input]" pattern="[a-zA-Z0-9]+">
<button type="submit">Submit</button>
</form>
0 голосов
/ 03 ноября 2018

Используйте этот шаблон, который я нашел. Он принимает только URL-адреса.

<input type="text" name="urlcheck" value="" id="urlcheck" class="form-control" 
placeholder="Write your url. " required  onkeyup="urlcheck()" required=""  data-bv- 
regexp="true" data-bv-regexp-regexp="https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9]\.[^\s]{2,}"
            data-bv-regexp-message="Invalid Url">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...