Comparing similar strings in jquery

2019-07-04 12:07发布

问题:

How do I compare similar strings in 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"/>

Comparing "One String" and "One String1" is not going to work if I'm only checking if the two values are equal. Is there any way to do this in jquery? For example I only want to compare 90% of the string.

回答1:

Check this out : http://jsfiddle.net/Sj5dE/ You can comment out a,b block to see the similitude of the strings. It's of course case-sensitive. I hope this helps. Since your example talked about comparing two similar strings, I thought it'd be most likely that the beginning of the strings are the same so I didn't introduce any substring logic but feel free to change the function.



回答2:

You can see if one is contained inside the other for example:

if (str1.indexOf(str2) >= 0 || str2.indexOf(str1) >= 0)
    console.log('yep');
}


回答3:

Try this it might work

    <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"/> 


回答4:

In javascript you can use the substring to get the 90% of the string you would like to compare.

$(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');
    }


回答5:

look on

http://code.google.com/p/google-diff-match-patch/

the demo in

http://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html



回答6:

You can check if the string is present or not by

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