Created
December 21, 2011 01:05
-
-
Save yugi386/1504067 to your computer and use it in GitHub Desktop.
Exemplo do uso de máscaras - Example of use of masks
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
| =begin | |
| Esta mascara permite incluir um separador em um campo numa determinada | |
| posicao e opcionalmente completar o seu tamanho à esquerda ou à direita. | |
| Parâmetros: | |
| 1 - String a ser transformada pela mascara | |
| 2 - Caracter utilizado como separador | |
| 3 - posicao do caracter utilizado como separador. Se negativo começa a contagem do final da String para o Princípio | |
| 4 - Total de caracteres da String Resultante | |
| 5 - "D" ou "E" - Este parâmetro diz se os caracteres que complem o tamanho da string estão à direita ou à esquerda | |
| 6 - caracter de preenchimento par ao tamanho total | |
| =end | |
| def mposic(campo,separador,posicao,total,completar,caracter) | |
| campo = campo.strip | |
| if total != 0 && campo.length != total | |
| tam = total - campo.length | |
| for cont in (1..tam) | |
| if completar.upcase == "D" | |
| campo = campo + caracter | |
| else | |
| campo = caracter + campo | |
| end | |
| end | |
| end | |
| # inserindo separador: | |
| posic = posicao | |
| if posicao < 0 | |
| campo = campo.reverse | |
| posicao = posicao * (-1) | |
| end | |
| tam = campo.length | |
| tam = tam - 1 | |
| resultado = "" | |
| for cont in (0..tam) | |
| if posicao == (cont+1) | |
| resultado = resultado + separador.to_s + campo[cont,1] | |
| else | |
| resultado = resultado + campo[cont,1] | |
| end | |
| end | |
| if posic < 0 | |
| resultado = resultado.reverse.strip | |
| end | |
| return resultado | |
| end | |
| #----------------------------------------------------------------------------- | |
| # MASCARA PARA TELEFONE: | |
| def masc_telefone(tel) | |
| if tel.length == 10 | |
| result = "(" + tel[0,2] + ")" + tel[2,4] + "-" + tel[6,4] | |
| elsif tel.length == 13 | |
| result = "(" + tel[0,5] + ")" + tel[5,4] + "-" + tel[9,4] | |
| elsif tel.length == 12 | |
| result = "(0" + tel[0,4] + ")" + tel[4,4] + "-" + tel[8,4] | |
| end | |
| return result | |
| end | |
| # end | |
| #============================================================================== | |
| puts mposic("123456789","/",-4,11,"D","0") | |
| puts mposic("123","-",-3,5,"E","0") | |
| puts mposic("ABACATE300","/",-4,0,"D","0") | |
| puts masc_telefone("2133231413") | |
| puts masc_telefone("0312133231413") | |
| puts masc_telefone("413122224567") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment