jQuery如果没有,则将http://添加为文本输入的前缀

时间:2011-10-19 07:00:35

标签: jquery forms validation textinput

我有一个文本输入,需要一个url作为值(完成http://),如果用户不自动写入,如果自动添加,我想要。我的代码如下,

的jQuery

$('.txtUrl').keypress(function(e) {
    if(e.keyCode == 13) {
        var ini = $(this).val().substring(0,3);
        if (ini === 'http'){
            $.noop()
        }
        else {
            // get value from field
            var cur_val = $(this).val(); 
            // do with cur_val
            $(this).val('http://' + cur_val);
        }        
    }
});

HTML

<input type="text" class="txtUrl" />

Problem in Fiddle

2 个答案:

答案 0 :(得分:3)

您将http与文本的三个第一个字符(substring(0,3))进行比较,当然,这些字符永远不会成立。将其更改为:

var ini = $(this).val().substring(0, 4);

答案 1 :(得分:2)

http://jsfiddle.net/bitsmix/jMH9b/

if ($(this).val().match(/^http/))

正则表达总是更好:)