javascript - 为什么当用户点击搜索按钮时屏幕会弹出?

标签 javascript jquery regex

为什么当用户从页面搜索文本时会弹出屏幕。 我会解释这个问题。 单击按钮我会转到下一页。下一页有搜索功能的实现,但是当用户搜索此文本时,它会弹出屏幕并转到上一个。我认为我的应用程序崩溃了。

以下文字 1 ) “(+?)”

2) q(?=u), 3 ) q(?!u)

3) (?

你能告诉我如何消除这个崩溃吗?这是我的代码..

http://jsfiddle.net/ravi1989/4BAau/6/

    var searchTermRegEx = new RegExp('('+searchTerm+')', "ig");

这不起作用。

最佳答案

无效的 RegExp 模式将引发异常。只是catch and resolve it :

var searchTermRegEx, matches, selector = selector || "#realTimeContents";
try {
    searchTermRegEx = new RegExp('('+searchTerm+')', "ig");
} catch (e) {
    return false;
}

如果您想支持使用保留字符的查询,请自行转义它们,因为 javascript escape以错误的方式做,例如( 变为 %28 而不是 \(。您可以事先执行以下操作:

searchTerm = searchTerm.replace(/([\(\)\.\+\?])/g, '\\$1');

关于javascript - 为什么当用户点击搜索按钮时屏幕会弹出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17751427/

相关文章:

php - 在 php 中使用正则表达式将每个前导和尾随空格替换为下划线

javascript - 如何在初始化后检索 ChartJS 实例

javascript - JS提示背景

.net - 使用 jquery 填充下拉菜单并设置从 .NET SelectList 中选择的内容

jquery - 先加载 DOM,再加载 css?

javascript - 在 thymeleaf th :src 中使用 javascript

regex - 使用正则表达式的 Http 重定向 302

javascript - 如何使用 Angular 过滤器对数据进行分组?

javascript - 客户端可以更改浏览器的 JavaScript 值吗?

regex - 用逗号或逗号和空格分隔的项目列表的正则表达式