在字符串中搜索http://和https://

时间:2012-05-18 09:35:02

标签: javascript regex

我想为每个不以它开头的网址预备http://,我用过这个:

if (val.search('http://') === -1) {
    val = 'http://' + val;  
}

问题是它会将http://追加到以https//开头的网址 我想忽略http://https://

2 个答案:

答案 0 :(得分:8)

if (val.indexOf('http://') === -1 && val.indexOf('https://') === -1) {
    val = 'http://' + val;
}

regex方式是:

if (!val.search(/^http[s]?:\/\//)){
    val = 'http://' + val;        
}

答案 1 :(得分:4)

if (val.indexOf('http://') === -1 && val.indexOf('https://') === -1) {
    val = 'http://' + val;
}

你也可以使用正则表达式:

if(!/^https?:\/\//.test(val)) {
    val = 'http://' + val;
}