Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Zinhani

Tablesorter

Recommended Posts

Olá pessoal,

 

Estou usando o plugin tablesorter http://tablesorter.com/docs/

E preciso personalizar um parser para ordendar uma coluna que esta com este formato de data: dd/mm/aaaa às HH:mm:ss

 

Além de estar com dificuldades em expressão regular eu não faço a menor ideia de como colocar isso dentro da função.

 

No js do plugin tem alguns modelos de data, como no exemplo abaixo que ordena uma coluna no seguinte formato: Jan 18, 2001 9:12 AM

 

ts.addParser({
		id: "usLongDate",
		is: function(s) {
			return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));
		},
		format: function(s) {
			return $.tablesorter.formatFloat(new Date(s).getTime());
		},
		type: "numeric"
	});

 

Link de exemplo de como criar um parse: http://tablesorter.com/docs/example-parsers.html

Exemplo abaixo:

 

// add parser through the tablesorter addParser method 
    $.tablesorter.addParser({ 
        // set a unique id 
        id: 'grades', 
        is: function(s) { 
            // return false so this parser is not auto detected 
            return false; 
        }, 
        format: function(s) { 
            // format your data for normalization 
            return s.toLowerCase().replace(/good/,2).replace(/medium/,1).replace(/bad/,0); 
        }, 
        // set type, either numeric or text 
        type: 'numeric' 
    });

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei algumas coisas e agora só preciso adaptar algo como no exemplo abaixo:

 

Exemplo:

de: Jan 18, 2001 9:12 AM

para: /^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/

 

Porem, não estou conseguindo encaixar as expressões

 

DATA = ^([0-1][0-9]|[2][0-3])(:([0-5][0-9]):([0-5][0-9])){1,2}$

TERMO = às

HORA = ^([0-9]|[0,1,2][0-9]|3[0,1])/([\d]|1[0,1,2])/\d{4}$

 

para formar isso: dd/mm/aaaa às HH:mm:ss

 

Alguem pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.