【问题标题】:jQuery Add http:// as prefix to text input if there is nonejQuery 如果没有,则将 http:// 作为前缀添加到文本输入
【发布时间】:2011-12-10 16:25:51
【问题描述】:

我有一个文本输入,需要一个 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

【问题讨论】:

    标签: jquery forms validation textinput


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      正则表达式总是更好:)

      【讨论】:

      • 正则表达式总是比字符串替换更昂贵。
      猜你喜欢
      • 2019-10-11
      • 2013-10-29
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多