Javascript 清理可搜索字符串JS
试图使搜索带有额外字符的字符串成为可能,在使用find函数之前应该删除这些字符 例如。 搜索字符串是“John”,而我希望返回所有可能的变体,其中包含“^”(J^ohn,Jo^hn,Joh^n,^John,John^),作为正确的变体 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
$(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,为了快速解决问题,请尝试此库:情况是我动态填充了表格,我希望^在表格中可见,另一方面,我需要保持搜索字符串的能力,而不使用^,但使用^保留结果。情况是,我将动态填充表格,并且我希望^在表格中可见,另一方面,我需要保持在不使用^的情况下搜索字符串的能力,但使用^保留结果。