Jquery检查两个值是否以相同的文本开头

时间:2013-05-15 09:26:23

标签: jquery string variables

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

我的代码是

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

$ a == $ b - >假

像这样如何找到变量盯着字符串。

4 个答案:

答案 0 :(得分:3)

方法1

Click here for the demo

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

如果您注意第三个警告,您可以在离开一些字符后开始比较


方法2

Click here for the Demo

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

Check here for the Demo

var str = "Hello A";
var str1 = "Hello B";
if(str.match("^Hello") && str1.match("^Hello")) 
{
    alert('ok');
}
else
{
    alert('not ok');
}

答案 1 :(得分:2)

如果您想查看第一个匹配项,可以使用:

if ($a.split(' ').shift() === $b.split(' ').shift()) {
  // match
}

答案 2 :(得分: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);
}

答案 3 :(得分:0)

var $a = "Hello john";
var $b = "Hello peter";
if($a.split(" ")[0] == $b.split(" ")[0]) {
  alert('first word matched')
}

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