在javascript中比较另一个字符串中的子字符串
Comparing substring in another string in javascript
我有两个字符串,我想检查下面一个变量到另一个变量的子字符串是否是代码片段。
var val1 = "www.google.com , www.yahoo.com , www.msn.com, in.news.yahoo.com";
var val2 = "in.news.yahoo.com/huffington-post-removes-sonia-gandhi-rich-list-103404344.html";
//if val1 does not contains val2 I want to show popup. I tried val1 .toLowerCase().indexOf(val2 .toLowerCase()) but it doesn't work it always return -1.
有人能建议我如果有这种情况该怎么办吗?
试试这个:
var val1 = "www.google.com,www.yahoo.com,www.msn.com,in.news.yahoo.com";
var val2 = "www.yahoo.com/huffington-post-removes-sonia-gandhi-rich-list-103404344.html";
function check(){
var val1_arr = val1.split(',');
for(var i = 0; i < val1_arr.length; i++){
if(val2.indexOf(val1_arr[i]) != -1){
// val2 contains val1
return true;
}
}
return false;
}
试试这个:
val1 = [ "www.google.com",
"www.yahoo.com",
"www.msn.com",
"in.news.yahoo.com" ];
function showPopUpIfUrlIsInVal1(val2) {
var b = false;
for (var i = 0; i < val1.length; i++)
{
if (val2.indexOf(val1[i]) > -1)
{
b = true;
break;
}
}
if (b)
{
alert("test message");
}
}
showPopUpIfUrlIsInVal1("http://www.google.com");
啊,这是一个有趣的问题,这里有一个解决这个问题的FP方法:
var val1 = "www.google.com , www.yahoo.com , www.msn.com,in.news.yahoo.com";
var val2 = "in.news.yahoo.com/huffington-post-removes-sonia-gandhi-rich-list-103404344.html";
function arrayInString(needles, haystack, callback) {
var result = needles.some(function(el) {
return haystack.indexOf(el.trim()); // Trim is required to remove extra whitespace
});
if (result) callback();
}
arrayInString(val1.split(","), val2, function() {
// Create your popup here
});
您可以使用Array.prototype.filter方法:
jsFiddle
//fixing val1 format
var val1 = "www.google.com , www.yahoo.com , www.msn.com , in.news.yahoo.com";
var matched = val1.split(' , ').filter(function (v) {
return ~val2.indexOf(v);
});
相关文章:
- 反向字符串比较
- ExpressJS:奇怪的字符串比较
- 宽松的字符串比较
- 在angularJS中用字符串比较检查Json对象
- 在JavaScript中使用===进行字符串比较有意义吗
- 字符串比较显示从flash[:alert]检索到的字符串上的错误
- JSLint字符串比较错误应为'==='而是看到'=='
- 字符串比较在d3.rgb中不起作用
- 为什么这个字符串比较在Jest的期望中没有失败
- jQuery this.href 字符串比较不起作用
- 字符串比较不起作用
- 字符串比较与预期不符
- Javascript中的字符串比较不起作用
- 正则表达式(字符串比较)
- j查询字符串比较变量
- 字符串比较 JavaScript 中的失败
- 当字符串中存在空格时,字符串比较会给出错误的输出
- Ant JavaScript 相同的字符串比较给出了错误的结果,但 char compare 给出了字符串中每个字符的
- 正则表达式字符串比较忽略符号
- JavaScript 中的序号字符串比较