我有一个输入类型的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;
}
});
答案 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?