zsh: Validar IPv4 utilizando PCRE

Publicado por Sandro Marcell (última atualização em 01/03/2013)

[ Hits: 3.901 ]

Homepage: http://sanmarcell.wordpress.com

Download ipv4_pcre




Função genérica para validar endereços IPv4 utilizando o módulo PCRE (Perl Compatible Regular Expressions) do zsh.

  



Esconder código-fonte

#
# Funcao para validacao generica de enderecos IPv4 usando o modulo
# PCRE (Perl Compatible Regular Expressions) do zsh.
#
# Sandro Marcell <smarcell@myopera.com>
#
# Para utilizar esta funcao, basta passar como argumento o IP a ser validado e checar
# o codigo de retorno ($?).
#
# Codigos de retorno
# 0 = IP valido
# 1 = Formato invalido para endereco IP
# 2 = Endereco IP fora da faixa valida (0-255) 
#
# Mais detalhes:
# - (man|info) zsh
# - http://www.pcre.org/
#

# Carrega o modulo PCRE (sem essa linha, a funcao nao tem utilidade alguma!)
zmodload zsh/pcre

function validarIPv4 {
   local ip padrao_ip ip_valido
   
   ip="$1" # IP a ser validado
   padrao_ip='^([\d]{1,3}\.){3}[\d]{1,3}$' # Formato 'xxx.xxx.xxx.xxx'
   ip_valido='^(((1[\d]|[1-9]?)[\d]|2([0-4][\d]|5[0-5]))\.){3}((1[\d]|[1-9]?)[\d]|2([0-4][\d]|5[0-5]))$' # Intervalo de 0 a 255
   
   # Checa se a entrada esta em formato valido
   pcre_compile "$padrao_ip"
   pcre_match "$ip" || return 1
   
   # Valida o endereco IP de 0 a 255
   pcre_compile "$ip_valido"
   pcre_study
   pcre_match "$ip" || return 2
   
   return 0
}

Scripts recomendados

manutenção do squid

Claro 3g Sony Ericsson md300 script conexao - Revisado

Script de controle do Alfresco para RHEL / CentOS / Fedora

Aplicando layer7 sem digitar uma linha de código sequer

tuiteroPreguicoso1.0 - automatiza o envio de mensagens ao Twitter


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts