javascript 自定义文本比较,

自定义文本比较工具

方向: 1.比较两段文本的长度,不相同肯定不相等

        2.如果长度不同,就以短的文本的长度为限制值,比较从0到限制值中的,那一段不相等

        3.比较出那一段不相等,在把这一段逐个字符进行比较,找出从哪个字符不相同,返回索引

页面实现:

1.定义textarea 用来输入文本

2.比较如果有不同,则将textarea 隐藏,用相同的长宽的div 展示,并对不同的地方进行标红处理,并对过长的字符进行换行处理,并对div 添加滚动条

2.如果不同则无需处理,

3.提供清空按钮,将div 隐藏,显示textarea ,并清除输入数据

javascript 实现

/**
 * compare demo
 * 返回指定索引
 * @author zcm
var t1 = "sagjiojiogrewa";
var t2 = "jiojigoji";
console.log(testCompare(t1,t2));
*/

function testCompare(t1,t2){
    var text1 = t1;
    var text2 = t2;

    /**if(text1.length != text2.length){
        return text1.length > text2.length ? text2.length : text1.length;//text1 长度不同
    }*/
    
    var tarr = text1.split(" ");
    var tarr2 = text2.split(" ");   
    var length = tarr.length > tarr2.length ? tarr2.length:tarr.length;
    var arrSize = 0;
    for(var i = 0;i < length ;i++){ //根据长度短的来比较
        /** if(tarr[i].length != tarr2[i].length) return tarr[i].length; */
        if(tarr[i] != tarr2[i]){
            return arrSize + testCompare2(tarr[i],tarr2[i]);//在小数组中的位置
        }
        arrSize += tarr[i].length;
    }
}

function testCompare2(t1,t2){
    var tarr = t1.split("");
    var tarr2 = t2.split("");
    var length = tarr.length > tarr2.length ? tarr2.length:tarr.length;
    /**if(t1.length != t2.length){
        return length;//text1 长度不同
    }*/
    for(var i = 0;i < length ;i++){ //根据长度短的来比较
        if(tarr[i] != tarr2[i]){
            return i;
        }
    }
}
页面显示html代码就不展示了,处理的比较丑
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值