【发布时间】:2017-07-14 03:22:29
【问题描述】:
所以最近,我一直在尝试在从数据库中获取数据后实现 keyup 功能进行搜索。我已经搜索了很多关于此的问题,并且确实设法找到了一个用于按顺序匹配数字的正则表达式
这给了我这个表达式"^[0-9]+$"。我还用正则表达式搜索了另一个关于实时搜索中 jquery 代码的问题
How to perform a real time search and filter on a HTML table
所以我尝试将正则表达式更改为与第一个问题中以特定顺序排列的数字不同的正则表达式,但它似乎不起作用
这是我的 jsfiddle 代码,在我的真实代码中实现之前我正在尝试使其工作,所以问题是我在哪一部分做错了,我如何让正则表达式只接受 10 个字符?提前致谢。
HTML
<input type="text" id="search" placeholder="Type to search">
<table id="table">
<tr>
<td>3123124</td>
<td>438785345</td>
</tr>
<tr>
<td>123131234</td>
<td>31234144</td>
</tr>
<tr>
<td>8909808</td>
<td>8709090980</td>
</tr>
</table>
JS
var $rows = $('#table tr');
$('#search').keyup(function() {
var reg = RegExp("^[0-9]+$"), text;
$rows.show().filter(function() {
text = $(this).val();
return !reg.isMatch(text);
}).hide();
});
这是输入和结果。结果将显示在表格中。
$(".navbar-search").one('click', function(){
$.ajax({
url: "http://localhost:3000/api/queryAllRecord", // server url
type: "POST", //POST or GET
contentType: "application/json",
// data to send in ajax format or querystring format
dataType : "JSON", //dataType is you telling jQuery what kind of
response to expect
success: function(response) {
alert('success');
if(response){
var len = response.length;
var txt = "";
if(len > 0){
for(var i=0;i<len;i++){
if(response[i].samID && response[i].itemDescription){
txt += "<tr class='rowdata'>
<td>"+response[i].samID+"</td>"
+"<td>"+response[i].itemDescription+"</td>"
+"<td
class='editNumber'>"+response[i].issuedQTY +
"</td>"+"<td
class='editNumber'>"+response[i].openingQTY
+ "</td>" + "<td
class='editNumber'>"+response[i].closingQTY+"
</td>" +"<td
class='editNumber'>"+response[i].corruptedQTY+"
</td>" +"<td>"+response[i].Remarks+"</td>"+"
<td>"+response[i].ntaRequestRef+"</td>"
+"<td><input class='input button-edit'
type='submit' id='edit' value='Edit' onclick
= 'edit(this)' /></td>"
+"<td><input class='input button-edit'
type='button' id='delete' value='Delete'
onclick='deleteResult(this)' /></td>"+"</tr>";
}
}
$("#bResults").empty();
if(txt != ""){
$("#results").removeClass("hidden");
$("#bResults").append(txt);
}
}
}
},
error: function(response) {
alert('error');
}
});
event.preventDefault();
});
这是将执行的搜索,然后将从数据库中获取数据并将其放入表中,然后我将在 keyup 上输入 search 进行搜索。 预期的输入应该是这样的 1607180511 并且在输入时,它会根据用户输入的内容进行过滤,如果假设他输入了 1607,那么所有带有 1607 的人都应该出现......或者如果它是 1607180511,那么它将显示结果也是。这是小提琴代码。抱歉我的提问方式。
【问题讨论】:
-
您能否在问题中包含输入和预期结果?
-
@guest271314 哦,你的意思是我输入和结果的代码吗?
-
你的意思是输入只接受10个字符?使用
maxlength="10" -
RegExp的预期输入和预期结果是什么? -
@guest271314 你好,我已经更新了我的问题'
标签: javascript jquery indexing