Olá,
use o código em regex para CNPJ e CPF:
Atenção, não valida o CPF e CNPJ apenas a quantidade digitada.
$('#cpfcnpj').blur(function(){
var cpfcnpj = $('#cpfcnpj').val();
if(cpfcnpj.match(/^([0-9]{2}[\.]?[0-9]{3}[\.]?[0-9]{3}[\/]?[0-9]{4}[-]?[0-9]{2})|([0-9]{3}[\.]?[0-9]{3}[\.]?[0-9]{3}[-]?[0-9]{2})$/)){
alert('true');
}else{
alert('false');
}
});
Explicação:
1 – [0-9]{2} Faixa de caracteres: 0 a 9, quantidade: 2 caracteres.
2 – [0-9]{3} Faixa de caracteres: 0 a 9, quantidade: 3 caracteres.
3 – [0-9]{4} Faixa de caracteres: 0 a 9, quantidade: 4 caracteres.
4 – [\.]? Um ponto, opcional. Foi usado \ no ponto, pois ele sozinho é caractere especial.
5 – [-]? Um traço, opcional.
6 – [\/]? Uma barra, opcional. Tambem “escapada” com \.
7 – (cnpj)|(cpf) Se um dos grupos validar, a expressão é válida.
Segue funcionando no JSFIddle