Last active
September 18, 2015 15:34
-
-
Save maykondeykon/4915b6c8443c436028fe to your computer and use it in GitHub Desktop.
Função para validação de CNPJ usando o plugin JQuery Bootstrap Validator.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Função para validar CNPJ usando bootstrapvalidator | |
* Baseado na função para validação de CPF encontrada em: | |
* https://github.com/nghuuphuoc/bootstrapvalidator/issues/187 | |
* usando a implementação da validação para CNPJ encontrada em: | |
* http://www.fernandowobeto.com/blog/plugin-jquery-validacao-cnpj/ | |
* | |
*/ | |
(function(e) { | |
e.fn.bootstrapValidator.validators.cnpjVal = { | |
html5Attributes: { | |
message: "message" | |
}, | |
validate: function(e, t, n) { | |
var r = t.val(); | |
if (r == "") { | |
return true | |
} | |
r = r.replace(".", ""); | |
r = r.replace(".", ""); | |
cnpj = r.replace("-", ""); | |
cnpj = r.replace("/", ""); | |
while (cnpj.length < 14) | |
cnpj = "0" + cnpj; | |
var z = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/; | |
var s = [6,5,4,3,2,9,8,7,6,5,4,3,2]; | |
var o = []; | |
var u = new Number; | |
for (i = 0; i < 12; i++) { | |
o[i] = cnpj.charAt(i); | |
u += o[i] * s[i+1]; | |
} | |
if ((x = u % 11) < 2) { | |
o[12] = 0 | |
} else { | |
o[12] = 11 - x | |
} | |
u = 0; | |
for (y = 0; y < 13; y++) | |
u += o[y] * s[y]; | |
if ((x = u % 11) < 2) { | |
o[13] = 0 | |
} else { | |
o[13] = 11 - x | |
} | |
if (cnpj.charAt(12) != o[12] || cnpj.charAt(13) != o[13] || cnpj.match(z)) | |
return false; | |
return true | |
} | |
} | |
})(window.jQuery); |
Boa tarde amigo!
Posso colar essa função no meu jquery.validate.js ? Sou bem leigo trabalhando com JQuery, e gostaria de saber se é possível vc me passar um exemplo de uso mais específico.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
há erro nas funções de replace
aconselho usar regex:
grato pela função de validação ;)