Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在客户键入时从表单字段中删除http://和www,并显示警报?_Javascript_Jquery_Regex_Twitter Bootstrap - Fatal编程技术网

Javascript 在客户键入时从表单字段中删除http://和www,并显示警报?

Javascript 在客户键入时从表单字段中删除http://和www,并显示警报?,javascript,jquery,regex,twitter-bootstrap,Javascript,Jquery,Regex,Twitter Bootstrap,我有一个表单,其中是一个字段(#域) 这里我想让客户添加自己的域名。我经常看到他们输入错误,甚至认为指令简短明了 为了使它更加用户友好,并避免错误,我想添加一个验证器或自动更正器 这是一个jquery和引导环境 这是我目前提出的解决方案: 这将动态删除所有特殊字符和空格。但是没有告诉客户 客户仍然输入http://和。-我也想自动移除这些 我可以在正则表达式或js中添加一些东西来实现这一点吗?-或者建议的工作解决方案是什么 如果客户输入特殊字符,是否有方法显示消息/警报?如“请仅使用a-z、0

我有一个表单,其中是一个字段(#域)

这里我想让客户添加自己的域名。我经常看到他们输入错误,甚至认为指令简短明了

为了使它更加用户友好,并避免错误,我想添加一个验证器或自动更正器

这是一个jquery和引导环境

这是我目前提出的解决方案:

这将动态删除所有特殊字符和空格。但是没有告诉客户

客户仍然输入http://和。-我也想自动移除这些

我可以在正则表达式或js中添加一些东西来实现这一点吗?-或者建议的工作解决方案是什么

如果客户输入特殊字符,是否有方法显示消息/警报?如“请仅使用a-z、0-9和点。如果您的域有特殊字符,请输入您的域名的ACE版本。”-引导警报或标准js警报


PS:我发现这个:关于从URL中删除上述内容,但我不明白如何在我的代码中使用它。我非常感谢你的建议。请使用小提琴:-)

根据您的代码,用户不能键入像
://
这样的特殊字符,但用户可以粘贴它。要处理此类情况,您可以在
blur
事件上对其进行验证。以下是相同的描述。此外,我还添加了一个简单的检查
“http”
,如果输入http,将显示错误。您可以根据需要进行配置

代码
(函数(){
var regex=新的RegExp(“^[a-zA-Z0-9\-\.]+$”;
$(“#域”)。按键(函数(e){
var str=String.fromCharCode(!e.charCode?e.which:e.charCode);
if(正则表达式测试(str)){
返回true;
}
$(“#lblError”).text(“请仅使用a-z、0-9和点。”).fadeIn();
e、 预防默认值();
返回false;
});
$(“#域”)。关于(“模糊”,函数(e){
var str=$(this.val();
if(正则表达式测试(str)){
如果(str.indexOf(“http”)>=0){
$(“#lblError”).text(“域名中不能包含HTTP。”).fadeIn();
返回false;
}
$(“#lblError”).fadeOut();
}否则{
$(“#lblError”).text(“请仅使用a-z、0-9和点。”).fadeIn();
返回错误
}
});
})()
。错误{
颜色:红色;
显示:无;
}

给你:

$('#domain').on('input', function() {
  rawInput = $(this).val();
  console.log(rawInput);
  cleanInput = rawInput.replace('www.', '');
  cleanInput = cleanInput.replace('http://', '');
  cleanInput = cleanInput.replace('https://', '');
  console.log(cleanInput);
  $(this).val(cleanInput);
});
请在此处查看它的实际操作:


查看JavaScript控制台,您将看到它在做什么。在生产中,您显然可以删除使用
console.log()

var regex=new RegExp(“^[a-zA-Z0-9.-]+$”)的任何行
您仍然可以复制并粘贴框中的特殊字符,这只是一个观察-为什么不输入
www
?只有按照惯例,
www.example.com
example.com
通常是相同的,但它们可能是完全不同的东西。除此之外:您不应该为占位符属性添加长的帮助消息。理想情况下,它应该像
Hi James,它与服务器处理域名的方式有关。它被用作帐户名,而不是域名。客户稍后会选择是否使用www。这看起来很优雅。我现在正在测试:-)这非常有效。我删除了正则表达式中的A-Z,因为我只需要A-Z,这样做之后,我在使用iPad时遇到了一些问题,直到我想到iPad默认使用大写字母。我在输入标签中添加了autocapitalize=“off”,现在它可以完美地工作了:-)谢谢!
$('#domain').keypress(function (e) {
    var regex = new RegExp("^[a-zA-Z0-9\-_.]+$");
    var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (regex.test(str)) {
        return true;
    }

    e.preventDefault();
    return false;
});
$('#domain').on('input', function() {
  rawInput = $(this).val();
  console.log(rawInput);
  cleanInput = rawInput.replace('www.', '');
  cleanInput = cleanInput.replace('http://', '');
  cleanInput = cleanInput.replace('https://', '');
  console.log(cleanInput);
  $(this).val(cleanInput);
});