日期:2014-05-16  浏览次数:20445 次

jquery 判断两个字符串是否相似

<div>
   <ul>
      <li id="0">冬瓜很好吃</li>
      <li id="1">西瓜不好吃</li>
      <li id="2">南瓜很好吃</li>
      <li id="3">苦瓜很好吃</li>
      <li id="4">傻瓜怎么吃</li>
      <li id="5">冬天的瓜很好吃</li>
   </ul>
</div
  
就是说:
当我输入“冬”的时候 id=0和id=1会显示,  
当我输入“很”的时候 id=0,id=2,id=3,id=5会显示
当我输入 “冬瓜很好吃” 只有id=0会显示 
用jquery 有没有与mysql里面的 like 一样的属性。 求解

------解决方案--------------------

///为字符串添加模糊比较的方法
String.prototype.isLike = function(exp/*类似于SQL中的模糊查询字符串*/, i/*是否区分大小写*/) {
        var str = this;
        i = i == null ? false : i;
        if (exp.constructor == String) {

            /*首先将表达式中的‘_’替换成‘.’,但是‘[_]’表示对‘_’的转义,所以做特殊处理*/
            var s = exp.replace(/_/g, function(m, i) {
                if (i == 0 
------解决方案--------------------
 i == exp.length - 1) {
                    return ".";
                }
                else {
                    if (exp.charAt(i - 1) == "[" && exp.charAt(i + 1) == "]") {
                        return m;
                    }
                    return ".";
                }
            });
             /*将表达式中的‘%’替换成‘.’,但是‘[%]’表示对‘%’的转义,所以做特殊处理*/
            s = s.replace(/%/g, function(m, i) {
                if (i == 0 
------解决方案--------------------
 i == s.length - 1) {
                    return ".*";
              &