这个是html
需要你自己包含以下jquery文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>计算缘分</title>
<script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<center>
<input type="text" name="user1" id="user1" />
和
<input type="text" name="user2" id="user2" />
<button id="calc">计算缘分</button>
<br />
<div class="" style="border: solid 1px black; width: 400px; height: 50px;">
他们之间的缘分:<span id="yuanfen">
</span>
</div>
</center>
</body>
<script type="text/javascript">
$(document).ready(function(){
$(document).on('click','#calc',function(){
var user1 = $("#user1").val();
var user2 = $("#user2").val();
$.ajax({
type:"get",
url:"yuanfenzhishurikao1.php",
async:true,
data:{
user1:user1,
user2:user2
},
success:function(response,xhr,status){
$("#yuanfen").html(response+'分');
}
});
});
});
</script>
</html>
后台传到php 是通过将传过来的字符串MD5()加密、
规则是 拥有一样的+10
连续的 *10
<?php
header("content-type:text/html;charset=utf-8");
$user1 = $_GET['user1'];
$user2 = $_GET['user2'];
$str1 = md5($user1);
$str2 = md5($user2);
/*
* 测试代码
* 结果30,50
*/
// $str1 = 'abced';
// $str2 = 'abf1d';
//将字符串分割成数组
$arr1 = str_split($str1,1);
$arr2 = str_split($str2,1);
$len = count($arr1);
$score = 0;
//第一部分,相同位置的值相等时加分
for($i=0;$i<$len;$i++){
if($arr1[$i]==$arr2[$i]){
$score += 10;
}
}
//echo $score.'<br />';
//第二部分,连续部分值相等加分
$n = 0;
for($j=0;$j<$len;$j++){
if($arr1[$j]==$arr2[$j]){
$n++;
if($j==$len-1){
break;
}
else{
while($arr1[$j+1]==$arr2[$j+1]){
$n++;
$j++;
if($j>=$len-1){
//$j=$len-2;
break;
}
}
$score += $n*10;
}
}
else{
$n = 0;
}
}
echo $score;
?>