如何通过jquery在文本框中输入用户时自动添加字符串"http://"

min*_*inh 0 html javascript jquery

我想自动添加http://到文本框的值.

例如,cateno.no应该成为http://cateno.no,但http://google.com应保持不变.

这是HTML:

<input id="urlBanner" type ="text" style ="width:450px;" maxlenght="100" />
Run Code Online (Sandbox Code Playgroud)

And*_*ker 7

您可以绑定到change事件input并评估值:

$(document).ready(function () {
    $("#urlBanner").change(function() {
        if (!/^http:\/\//.test(this.value)) {
            this.value = "http://" + this.value;
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

示例: http ://jsfiddle.net/andrewwhitaker/gnHLz/

或者,如果您不喜欢正则表达式,您可以使用indexOf:

$(document).ready(function () {
    $("#urlBanner").change(function() {
        if (this.value.indexOf("http://") !== 0) {
            this.value = "http://" + this.value;
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

示例: http ://jsfiddle.net/andrewwhitaker/fYRUW/


小智 5

我会对 Andrew Whitaker 的正则表达式示例稍作修改以考虑 https url,否则https://test.com将以 http:// 开头,看起来像http://https://test.com

$(document).ready(function () {
    $("#urlBanner").change(function() {
        if (!/^https*:\/\//.test(this.value)) {
            this.value = "http://" + this.value;
        }
    });
});
Run Code Online (Sandbox Code Playgroud)