Como Ignorar espacios y caracteres en un buscador
Publicado por Enrique Funtes (1 intervención) el 06/04/2021 21:13:57
Estoy intentado hacer que al buscar ignore o quite los espacios. Ejemplo; Buscar Modelo: aa-aaaaa-aa, si yo pongo las primeras 2 letras si lo busca, pero si pongo 3 letras seguidas (aaa) no la busca, obviamente por el cacacter, pero por ejemplo si le pongo un espacio si lo busca; "aa a"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
(function($){
$.fn.is_highlight = function( term, t , c ) {
return this.each(function(){
t = t || 'mark';
c = c || 'is-highlight';
var node = this.firstChild,
val,
new_val,
remove = [],
skip = ['SCRIPT', 'STYLE', 'INPUT', 'SELECT', 'BUTTON', 'OBJECT', 'APPLET', 'TEXTAREA', 'PRE', 'CODE', 'EMBED', 'IFRAME'];
if ( term && node && $.inArray(this.nodeName, skip) == -1 ) {
var regex = createAccentRegexp(term);
var regex = new RegExp( term.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1"), insensitive ? 'ig' : 'g');
do {
if ( node.nodeType === 3 ) {
val = node.nodeValue;
new_val = val.replace( regex, function(x){
return '<' + t + ' class="' + c + '">' + x + '</' + t + '>';
} );
if ( new_val !== val ) {
$(node).before( new_val );
remove.push( node );
}
}
} while ( node = node.nextSibling );
}
remove.length && $(remove).remove();
});
function createAccentRegexp(characters) {
var deaccentedString = deaccent(characters);
var cleanString = deaccentedString.replace(/([|()[{.+*?^$\\])/g,"\\$1");
var accentReplacer = function(character) {
return charToAccentedCharClassMap[character] || character;
};
var regexp = cleanString.replace(/\S/g, accentReplacer);
return new RegExp(regexp, "g");
}
function deaccent(accentedString) {
var result = accentedString;
for (var key in charToAccentedCharClassMap) {
result = result.replace(new RegExp(charToAccentedCharClassMap[key], "g"), key);
}
return result;
}
};
Valora esta pregunta


0