Сравнение похожих строк в jquery - PullRequest
3 голосов
/ 08 февраля 2012

Как мне сравнить похожие строки в jquery?

<script src="../../js/jq.js"></script>
<script>
$(function(){
    var str1 = $.trim($('#str1').val().toUpperCase());
    var str2 = $.trim($('#str2').val().toUpperCase());
    if(str1==str2){
        console.log('yep');
    }
});
</script>
<input type="text" id="str1" value="One String"/>
<input type="text" id="str2" value="One String1"/>

Сравнение «Одна строка» и «Одна строка1» не сработает, если я проверяю, равны ли все эти два значения. Есть ли способ сделать это в jquery? Например, я хочу сравнить только 90% строки.

Ответы [ 6 ]

5 голосов
/ 08 февраля 2012

Вы можете увидеть, содержится ли один внутри другого, например:

if (str1.indexOf(str2) >= 0 || str2.indexOf(str1) >= 0)
    console.log('yep');
}
4 голосов
/ 08 февраля 2012

Проверьте это: http://jsfiddle.net/Sj5dE/ Вы можете закомментировать блок a, b, чтобы увидеть сходство строк.Это, конечно, с учетом регистра.Надеюсь, это поможет.Поскольку в вашем примере говорилось о сравнении двух похожих строк, я подумал, что наиболее вероятно, что начало строк одинаковое, поэтому я не представил никакой подстроковой логики, но не стесняюсь менять функцию.

2 голосов
/ 08 февраля 2012

Попробуйте это может работать

    <script src="../../js/jq.js"></script> <script> 
$(function(){     
var str1 = $.trim($('#str1').val().toUpperCase());     
var str2 = $.trim($('#str2').val().toUpperCase());     
if(str1===str2){         console.log('yep');     } }); 
</script> 
<input type="text" id="str1" value="One String"/> 
<input type="text" id="str2" value="One String1"/> 
1 голос
/ 08 февраля 2012
1 голос
/ 08 февраля 2012

В javascript вы можете использовать подстроку , чтобы получить 90% строки, которую вы хотите сравнить.

$(function(){
    var str1 = $.trim($('#str1').val().toUpperCase().substring(0, 10);
    var str2 = $.trim($('#str2').val().toUpperCase().substring(0, 10);
    if(str1==str2){
        console.log('yep');
    }
0 голосов
/ 28 июня 2018

Вы можете проверить, присутствует строка или нет, с помощью

$ (". ClassName"). Replace (/ (^ | \ s) yourTextHere \ S + / g, "");

...