Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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
如何基于特殊字符(如()+;*在ExtJS中使用keyup侦听器_Extjs - Fatal编程技术网

如何基于特殊字符(如()+;*在ExtJS中使用keyup侦听器

如何基于特殊字符(如()+;*在ExtJS中使用keyup侦听器,extjs,Extjs,我需要根据输入字符过滤textfield,当我们输入普通字符时,它可以正常工作,但当我们输入特殊字符时,它不会过滤 如何使用keyup侦听器根据ExtJS中的特殊字符(如().+*)过滤textfield ***注意:剩余的特殊字符工作正常,只有()。+*不工作 代码: var filter = function (valu, listv) { if (valu !== '') { listv.store.filter({ property

我需要根据输入字符过滤
textfield
,当我们输入普通字符时,它可以正常工作,但当我们输入特殊字符时,它不会过滤

如何使用
keyup
侦听器根据ExtJS中的特殊字符(如().+*)过滤
textfield

***注意:剩余的特殊字符工作正常,只有()。+*不工作

代码:

var filter = function (valu, listv) {
    if (valu !== '') {
        listv.store.filter({
            property     : 'value',
            value        : new RegExp(valu, "i"),
            anyMatch     : true, //optional, defaults to true
            caseSensitive: true  //optional, defaults to true
        });
    } else {
        listv.store.filter({
            property     : 'value',
            value        : /.*/,
            anyMatch     : true,
            caseSensitive: true
        });
    }
    listv.select(-1);
}
您需要在正则表达式中添加特殊字符,如下所示:

function escapeRegExp(str) {
  return str.replace(/[-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}

var filter = function (valu, listv) {
    if (valu !== '') {
        listv.store.filter({
            property     : 'value',
            value        : new RegExp(escapeRegExp(valu), "i"),
// ... 

Hi@Pumbaa80 my regex://^[a-zA-Z0-9çèèèèèèèèèèèèèèè\-,:+*'()=&&\uS]+$/您能告诉我如何使用()。+*字符以便我的搜索条件正常工作吗?您不需要在RegExp。我编辑了我的答案并添加了一些代码hi@Pumbaa80,@Chau我尝试转义我的正则表达式中的特殊字符,但它不起作用。我有一个搜索字段,我必须根据特殊字符搜索一个字段。+*()不起作用。其他特殊字符工作正常,如,-&,请给我建议一个正确的解决方案Hi@Pumbaa80它不适用于你给出的代码我不知道原因是什么???我会给你解释清楚的,请看:我有一个过滤文本字段,我们可以根据我们提供的正则表达式标准搜索值列表,应该显示匹配的值。我想你最好在ExtJS论坛上问这个问题。这个问题对于StackOverflow来说不够具体。