比较两个字符串相同的个数,并输出
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 <title>比较两个字符串相同的个数,并输出</title> 6 <script src="jquery-1.12.4.min.js"></script> 7 <script type="text/javascript"> 8 var str1 = "istaerriter"; 9 var str2 = "ostaretttr"; 10 var len = str1.length > str2.length ? str1.length : str2.length; 11 for(var i=0,newstr=[],num = 0;i<len;i++){ 12 if(str1[i] == str2[i]){ 13 newstr.push(str1[i]); 14 }else{ 15 newstr.push('/'); 16 } 17 } 18 var arr = newstr.join("").toString().split('/'); 19 for(var i=0,num=0,newarr=[];i<arr.length;i++){ 20 num = num > arr[i].length ? num : arr[i].length; 21 newarr = newarr.length < arr[i].length ? arr[i] : newarr; 22 } 23 console.log(arr,num,newarr); 24 var temp = 0;
//section2 25 function finder(str1, str2, start, len){ 26 if (null == start){ 27 start = -1; 28 //保证str1是两者中较短的一个 29 var str1 = str1.length <= str2.length ? str1 : str2; 30 var str2 = str1.length > str2.length ? str1 : str2; 31 } 32 start++; 33 if (!len) { 34 len = str1.length;//较短字符串的长度 35 } 36 var end = start + len; 37 if (end > str1.length) { 38 if (len == 1){ 39 return 0; 40 } 41 return finder (str1, str2, -1, --len); 42 } 43 console.log(start,end,len) 44 temp = str1.substring (start, end); 45 console.log(temp) 46 if (str2.indexOf (temp) != -1) { 47 return temp.length +' / '+temp; 48 } 49 return finder (str1, str2, start, len); 50 } 51 var len = finder ("souhu.com", "blog.souhu"); 52 console.debug(len); 53 </script> 54 </head> 55 </html>