如何通过使用jquery忽略字符串的结尾来比较2字符串

时间:2014-02-03 05:02:27

标签: javascript jquery regex

我在Jquery中有一个变量,如下所示:

   var var1="3com.rsmart.certification.impl.hibernate.criteria.gradebook.GreaterThanScoreCriterionHibernateImpl";

现在我还有一个像

这样的字符串
 var var2="3com.rsmart.certification.criteria.impl.gradebook.GreaterThanScoreCriteriaTemplate";

现在我想通过考虑到某个阶段

来同时对这两个字符串进行拼写
    3com.rsmart.certification.criteria.impl.gradebook.GreaterThanScoreCriteri

所以可以帮助我,

提前致谢。

3 个答案:

答案 0 :(得分:1)

您可以使用子字符串。

http://www.w3schools.com/jsref/jsref_substring.asp

案例的用法

var compareLength = 10; // depends on your situation
if (var1.substring(0,compareLength)===var2.substring(0,compareLenth)) {
.
.
.
}

为什么我们使用“===”就在这里。 What is the correct way to check for string equality in JavaScript?

您还可以在客户端javascript页面添加通用功能,如下所示:

String.prototype.compareLeft=function(compareWith,len){
    return this.substring(0,len)===compareWith.substring(0,len)
}

然后在你的脚本的任何地方(在定义功能之后)你可以使用:

var compareLength = 10; // depends on your situation
if (var1.compareLeft(var2,compareLength)) {
.
.
.
}

答案 1 :(得分:0)

使用javascript test方法和正则表达式,试试这个

     var var1="3com.rsmart.certification.impl.hibernate.criteria.gradebook.GreaterThanScoreCriterionHibernateImpl";
    var var2="3com.rsmart.certification.criteria.impl.gradebook.GreaterThanScoreCriteriaTemplate";
    var patt = /3com.rsmart.certification.impl.hibernate.criteria.gradebook.GreaterThanScoreCriteri/i;
    if(patt.test(var1)==patt.test(var2)){
//your code
}

答案 2 :(得分:0)

您可以按字符比较两个字符。

var max = Math.min(left.length, right.length);
for (var i = 0; i < max; ++i) {
    if (left.charAt(i) != right.charAt(i))
        return left.substring(0, i);
return left.substring(0, max);