2

我 jquery 如何检查以相同文本开头的两个值,

我的代码是

$a = "Hello john";
$b = "Hello peter";

$a == $b --> 错误

像这样如何找到以字符串为目标的变量。

4

4 回答 4

3

方法一

点击这里查看演示

if (!String.prototype.startsWith) {
    Object.defineProperty(String.prototype, 'startsWith', {
        enumerable: false,
        configurable: false,
        writable: false,
        value: function (searchString, position) {
            position = position || 0;
             return this.indexOf(searchString, position) === position;
        }
    });
}


var str = "Pankaj Garg";

alert(str.startsWith("Pankaj"));   // true
alert(str.startsWith("Garg"));     // false
alert(str.startsWith("Garg", 7));  // true

如果你注意第三个警报,你也可以在留下一些字符后开始比较


方法二

点击这里查看演示

if (typeof String.prototype.startsWith != 'function') {
      String.prototype.startsWith = function (str){
          return this.indexOf(str) == 0;
  };
}

var data = "Hello world";
var input = 'He';
if(data.startsWith(input))
{
    alert("ok");
}
else
{
    alert("not ok");
}

方法 3

在这里查看演示

var str = "Hello A";
var str1 = "Hello B";
if(str.match("^Hello") && str1.match("^Hello")) 
{
    alert('ok');
}
else
{
    alert('not ok');
}
于 2013-05-15T09:31:14.547 回答
2

如果要检查第一个单词匹配,可以使用:

if ($a.split(' ').shift() === $b.split(' ').shift()) {
  // match
}
于 2013-05-15T09:30:13.033 回答
1

或者试试这个http://jsfiddle.net/ApfJz/9/

var a = "Hello john";
var b = "Hello peter";

alert(startsSame(a, b, 'Hello'));

function startsSame(a, b, startText){
    var indexA = a.indexOf(startText);
    return (indexA == b.indexOf(startText) && indexA >= 0);
}
于 2013-05-15T09:37:04.430 回答
0
var $a = "Hello john";
var $b = "Hello peter";
if($a.split(" ")[0] == $b.split(" ")[0]) {
  alert('first word matched')
}

注意:这将只比较第一个单词。不是整个字符串。

于 2013-05-15T09:39:32.373 回答