Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 清理可搜索字符串JS_Javascript_Jquery - Fatal编程技术网

Javascript 清理可搜索字符串JS

Javascript 清理可搜索字符串JS,javascript,jquery,Javascript,Jquery,试图使搜索带有额外字符的字符串成为可能,在使用find函数之前应该删除这些字符 例如。 搜索字符串是“John”,而我希望返回所有可能的变体,其中包含“^”(J^ohn,Jo^hn,Joh^n,^John,John^),作为正确的变体 JS部分: $(document).ready(function() { $('#search').keyup(function() { searchTable($(this).val()); }); }); functi

试图使搜索带有额外字符的字符串成为可能,在使用find函数之前应该删除这些字符

例如。 搜索字符串是“John”,而我希望返回所有可能的变体,其中包含“^”(J^ohn,Jo^hn,Joh^n,^John,John^),作为正确的变体

JS部分:

$(document).ready(function()
{
    $('#search').keyup(function()
    {
        searchTable($(this).val());
    });
});

function searchTable(inputVal)
{
    var table = $('#tblData');
    table.find('tr').each(function(index, row)
    {
        var allCells = $(row).find('td');
        if(allCells.length > 0)
    {
        var found = false;
        allCells.each(function(index, td)
        {
            var regExp = new RegExp(inputVal, 'i');
            if(regExp.test($(td).text()))
            {
                found = true;
                return false;
            }
        });
        if(found == true)$(row).show();else $(row).hide();
    }
});
}
HTML部分:

    <div class="tables">
<p>
    <label for="search">
        <strong>Enter name</strong>
    </label>
    <input type="text" id="search"/>
    <label></label>
</p>
<table id="tblData" class="target table table-bordered table-striped">
   <tr>
       <th>First Name</th>
       <th>Last Name</th>
       <th>number</th>
       <th>letters</th>
       <th>Gender</th>
       <th>Company</th>
   </tr>
   <tr>
       <td>Jo^hn</td>
       <td>Lenno^n</td>
       <td>151</td>
       <td>sf</td>
       <td>Male</td>
       <td>SMS Global (Technologies)</td>
   </tr>
   <tr>
       <td>Pau^l</td>
       <td>McC^artney</td>
       <td>753</td>
       <td>tj</td>
       <td>Male</td>
       <td>SMS Global (Services)</td>
   </tr>
   <tr>
       <td>George</td>
       <td>Harrison</td>
       <td>24</td>
       <td>ge</td>
       <td>Female</td>
       <td>SMS AIM Technologies</td>
   </tr>
   <tr>
       <td>Ringo</td>
       <td>Starr</td>
       <td>26</td>
       <td>hg</td>
       <td>Female</td>
       <td>SMS Global (Help Desk)</td>
   </tr>
</table>


输入名称

名字 姓 数 信件 性别 单位 乔恩 列侬 151 科幻小说 男性 SMS全球(技术) 保罗 麦卡特尼 753 tj 男性 短信全球(服务) 乔治 哈里森 24 通用电气 女性 SMS AIM技术 林戈 斯塔尔 26 汞 女性 全球短信服务(服务台)
下面是一个例子:


只需替换所有“^”,然后尝试将输入字符串与以下数据进行比较

var inputString="jOhn";
inputString=inputString.toLowerCase();
var text="jOH^n";
text=text.toLowerCase();
text=text.replace("^","");
(text===inputString)?true:false;

如果您想使用文本相似性,那么您可以使用任何文本相似性算法,如algorithm,为了快速解决问题,请尝试此库:

只需替换所有“^”,然后尝试将输入字符串与以下数据进行比较

var inputString="jOhn";
inputString=inputString.toLowerCase();
var text="jOH^n";
text=text.toLowerCase();
text=text.replace("^","");
(text===inputString)?true:false;

如果您想使用文本相似性,那么您可以使用任何文本相似性算法,如algorithm,为了快速解决问题,请尝试此库:

情况是我动态填充了表格,我希望^在表格中可见,另一方面,我需要保持搜索字符串的能力,而不使用^,但使用^保留结果。情况是,我将动态填充表格,并且我希望^在表格中可见,另一方面,我需要保持在不使用^的情况下搜索字符串的能力,但使用^保留结果。