javascript - jQuery 验证插件 - 删除 'http://' 对 URL 的要求

标签 javascript jquery

我希望在不要求用户输入“http://”的情况下验证 URL。如何在下面的表格中,必须输入“http://”才能提交表格。我不知道该怎么做。任何帮助将非常感激。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Makes "field" required and a url.</title>
<link rel="stylesheet" href="http://jquery.bassistance.de/validate/demo/site-demos.css">

</head>
<body>
<form id="myform">
<label for="field">Required, URL: </label>
<input class="left" id="field" name="field">
<br/>
<input type="submit" value="Validate!">
</form>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
<script>
// just for the demos, avoids form submit
jQuery.validator.setDefaults({
  debug: true,
  success: "valid"
});
$( "#myform" ).validate({
  rules: {
    field: {
      required: true,
      url: true
    }
  }
});
</script>
</body>
</html>

编辑:采纳了 isherwood 的建议:

    var txt = $('#website').val();

    var http = txt.indexOf('http://');

    if (http > -1) {
        $('#website').val(txt);
    } else {
       $('#website').val('http://' + txt);
    }

最佳答案

为什么不将它添加到用户的 URL 中?无论如何,URL 不是没有协议(protocol)的 URL(无协议(protocol) URL 除外,但它们仍然有“//”)。

$('#myform').on('submit', function() {
    var myURL = 'http://' + $('#field').val();
    $('#field').val(myURL);
});

关于javascript - jQuery 验证插件 - 删除 'http://' 对 URL 的要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19300492/

相关文章:

javascript - 从下拉菜单中选择选项不会显示应有的内容

javascript - jquery 看不到 anchor 标签

javascript - 如何根据 jquery 中单击的选项对 JSON 对象进行排序?

javascript - AgendaWeek 时间段始终显示默认值,即 00.00.00(小时 :minute:second)

javascript - 未创建 jstree 节点

JavaScript - 从函数内引用参数

javascript - 如何使打印字符与声音同步?

javascript - 如何使用javascript在点击下拉菜单上创建一个文本框?

javascript - 如果用户向下滚动,如何在 x 秒后自动转到顶部

javascript - Meteor - 为路由器获取数据时页面刷新导致闪烁