Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function onChange(control, oldValue, newValue, isLoading, isTemplate) {
- if (isLoading || newValue == '') {
- return;
- }
- var strCep, antesDoTraco, depoisDoTraco = ""; // variáveis para a o tratamento da máscara com traço
- var formCep = g_form.getValue('u_novo_cep'); // string que guarda o valor do campo Novo Cep
- var tamanho = formCep.length; // guarda o tamanho da string
- // Ao final da validação, se tudo estiver ok, um traço é inserido no índice
- // indicado abaixo, porém como é um evento onChange, o script acaba sendo
- // executado novamente, então o traço é tratado no bloco de código abaixo
- if(formCep[5] == '-'){
- if(tamanho-1 != 8){ // -1, pois não está contando o traço
- alert('Informe o CEP no formato 00000-000, sem traço!');
- g_form.setValue('u_novo_cep', '');
- return; // interrompe a função
- }
- for(var i = 0; i < tamanho; i++){ // varrendo a string a procura de qualquer coisa != number
- if( i == 5)
- continue; // o traço fica no índice 5, deve ser ignorado
- if(isNaN(parseInt(formCep[i]))){ // não é número?
- g_form.setValue('u_novo_cep', '');
- alert('CEP incorreto!\nSomente números!');
- break; // interrompe o laço
- }
- }
- return; // interrompe a função
- }
- // o CEP é maior que 8 digitos?
- if(tamanho != 8){
- alert('Informe o CEP no formato 00000-000, sem traço!');
- g_form.setValue('u_novo_cep', '');
- return;
- }
- for(var i = 0; i < tamanho; i++){
- if(i == 5){
- if(formCep[i] == '-')
- continue;
- }
- if(isNaN(parseInt(formCep[i]))){
- g_form.setValue('u_novo_cep', '');
- alert('CEP incorreto!\nSomente números!');
- return;
- }
- }
- // aplicando a máscara 00000-000 ( traço )
- strCep = formCep;
- antesDoTraco = strCep.slice(0,5);
- depoisDoTraco = strCep.slice(5,8);
- strCep = antesDoTraco + '-' + depoisDoTraco;
- g_form.setValue('u_novo_cep', strCep);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement