仅英文字符

时间:2017-11-27 03:12:10

标签: javascript

我有一个输入类型的URL,客户端只想接受输入中的ENGLISH字符

Keypress和Blur功能就是我所拥有的,但在模糊的情况下,它仍然接受这个“建筑家test.com”的内容

<input type="url" id="url" required pattern="https?://.+" placeholder="http://example.com">

    $("#url").on("keypress", function(event) {

    var englishAlphabetDigitsAndWhiteSpace = /[a-zA-Z0-9!@#$%^*_|:/.]/g;

    var key = String.fromCharCode(event.which);

    if (event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 39 || englishAlphabetDigitsAndWhiteSpace.test(key)) {
        return true;
    }

    return false;
   });

$("#url").blur(function(e){
    var input = $(this).val();
    var regex = /[a-zA-Z0-9!@#$%^*_|:/.]/g; 
    if(regex.test(input)) {
      alert("OK");
    }
    else {
        alert("no Japanese allowed");
        return false;  
    }
});

1 个答案:

答案 0 :(得分:1)

您可以尝试使用以下正则表达式:

^([a-zA-Z0-9!@#$%^*_|:/.])*$

或那个,取决于你是否接受空字符串作为有效条目。

^([a-zA-Z0-9!@#$%^*_|:/.])+$

最后但同样重要的是,如果您想检查您的输入是否是格式正确的UR,请查看以下链接:

What is the best regular expression to check if a string is a valid URL?