jQuery 如果没有,则将 http:// 作为前缀添加到文本输入
Posted
技术标签:
【中文标题】jQuery 如果没有,则将 http:// 作为前缀添加到文本输入【英文标题】:jQuery Add http:// as prefix to text input if there is none 【发布时间】: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);
);
<input type="text" class="txtUrl" />
Problem in Fiddle
【问题讨论】:
【参考方案1】:您将 http
与文本的前三个字符 (substring(0,3)
) 进行比较,当然,这永远不会是真的。将其更改为:
var ini = $(this).val().substring(0, 4);
【讨论】:
【参考方案2】:http://jsfiddle.net/bitsmix/jMH9b/
if ($(this).val().match(/^http/))
正则表达式总是更好:)
【讨论】:
正则表达式总是比字符串替换更昂贵。以上是关于jQuery 如果没有,则将 http:// 作为前缀添加到文本输入的主要内容,如果未能解决你的问题,请参考以下文章
jQuery插件,定制文本以填充父元素的高度,如果没有,则将其椭圆';t适合
如果 href 以 http://www.twitter.com/ 开头,则将类添加到 <a> [重复]