Javascript 如果字符串不包含http://,如何将其添加到字符串中?
我想知道如何将http://添加到字符串中,方法是事先检查它是否已经在字符串中 如何仅使用javascript(可能是带有正则表达式的javascript)有效地将字符串转换为完整url?理想情况下,我可以检查字符串是否也以.com/.org/.net等结尾 使用字符串连接:Javascript 如果字符串不包含http://,如何将其添加到字符串中?,javascript,regex,Javascript,Regex,我想知道如何将http://添加到字符串中,方法是事先检查它是否已经在字符串中 如何仅使用javascript(可能是带有正则表达式的javascript)有效地将字符串转换为完整url?理想情况下,我可以检查字符串是否也以.com/.org/.net等结尾 使用字符串连接: 您可以使用indexOf检查http:// if(str.indexOf("http://") < 0){ str = "http://" + str; } 适应你的需要 <script> var
您可以使用indexOf检查http://
if(str.indexOf("http://") < 0){
str = "http://" + str;
}
适应你的需要
<script>
var url = "http://www.google.com...";
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
if (regexp.test(url)) {
alert(url);
} else {
alert('http://' + url);
}
</script>
-1–让我引用标题:如果它不存在,我就看不出这个答案必然是错误的。这个问题完全不清楚。@thejh在阅读了字里行间的内容后编辑,因为这个问题非常不清楚。你现在能再解释一下-1吗?@Ghilled:除了最后一行缺少缩进,没有异议。但我的投票被锁定——如果在前五分钟左右发生编辑,投票锁定可能不会被删除?编辑:是的:@thejh啊,我想没关系。谢谢你回来。你的问题并没有说明你是如何试图自己解决这个问题的。你的问题还不清楚。什么是不存在的?@PointedEars:他不能正确地写出自己的想法,这让我白白丢了分数。哈哈。有点离题,但在复制粘贴代码中的以下任何答案之前,请仔细阅读。@adrianp您提到的“谷歌JavaScript风格指南”从未在链接文本中使用过“this”之类的内容,这已经过时了;有些项目甚至是有问题的,在没有充分理由的情况下以不必要的方式限制开发人员。Crockford的规则和jslint…你不想让我开始这方面的工作。很好,测试https和ftp也很好。。。但是,呃,如果块没有命中,url就没有任何价值,对吗?也许将url更改为您的_url?一行的点,如果是?如果你坚持,就用三元。@thejh你是对的!您需要转义斜杠,以便regex应该是var reg=/^http | https | ftp:\/\/;编码风格注释:您混合了以分号结尾的行和以非分号结尾的行
var reg = /^((http|https|ftp)://)/;
if(!reg.test(your_url)) { your_url = "http://" + your_url; }
<script>
var url = "http://www.google.com...";
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
if (regexp.test(url)) {
alert(url);
} else {
alert('http://' + url);
}
</script>