search()如果字符串中没有第一个字符,则javascript不起作用

时间:2016-06-13 15:06:12

标签: javascript jquery debugging

您好我知道如果字符串中不存在第一个字符串,则javascript中的usort()不起作用(返回 -1 )...

search()

在本例中,如果我们写“x home”,则返回-1。

但有没有办法“解决”这个问题? 简而言之,如果我写“ x home ”,无论如何都有 home 这个词......

我想要一种方法,在这种情况下不会返回-1

3 个答案:

答案 0 :(得分:1)

您正在寻找" x home"在" home"。 因此它返回-1。

if (nome_search.search(textinsert) != -1)

应该是

if (textinsert.search(nome_search) != -1)

答案 1 :(得分:1)

nome_search.search(textinsert)只是向后退了吗? textinsert.search(nome_search)

重构代码:

function getStringPostion(re, str) {
  var midstring;
  var position = str.search(re);
  midstring=(position != -1) ? ' contains ':' does not contain ';
  console.log(str + midstring + re);
  console.log(position );
  return position;
}
var foundAtPosition = getStringPostion("home","x home"); 

答案 2 :(得分:-1)

迭代所有插入的字符串可能会:

  var f = function(re) {
  var textinsert = ($(this).val()).toLowerCase().split(" ");

  var nome_search = "home";
  var result = 0;
  for (var i = 0; i<textinsert.length; i++){
    console.log(textinsert[i]);
    if (nome_search.search(textinsert[i]) != -1) result++;
  }
  return result > 0 ? alert('ok') : alert('not') ;
};

只要它们被空格分隔,就像你的例子一样。