[Cascavel-pm] Identificação de quantias monetárias válidas?

Luis Campos de Carvalho lechamps em terra.com.br
Sexta Setembro 12 15:09:45 CDT 2003


   Caros colegas monges

   Eu preciso reconhecer e validar seqüências monetárias válidas para o 
padrão brasileiro, isto é, usando '.' como separador (opcional) de 
milhares e ',' como separador de centavos (obrigatório apenas no caso de 
haver centavos a expressar).

   Eu gostaria muito que isto pudesse ser codificado com apenas uma 
expressão regular, de forma que eu conseguisse testar rapidamente se o 
número vale.

   Para isso, eu tentei codificar a expressão assim:

   qr/^(?:(?:\d{1,3})\.)?(?:\d{3}\.)*(?:\d{1,3})(?:\,\d?\d)?$/

   Mas acredito que eu esteja falhando em algum lugar.
   Eu tenho de conseguir pegar valores deste array; E acho que isso pode 
servir para inspirar vocês:

my @values = ('1'
   	      ,'1,0'
	      ,'1,00'
	      ,'10'
	      ,'10,0'
	      ,'10,00'
	      ,'100'
	      ,'100,0'
	      ,'100,00'
	      ,'1000'
	      ,'1000,0'
	      ,'1000,00'
	      ,'1.000'
	      ,'1.000,0'
	      ,'1.000,00'
	      ,'10000'
	      ,'10000,0'
	      ,'10000,00'
	      ,'10.000'
	      ,'10.000,0'
	      ,'10.000,00'
	      ,'13.000.000.000.000'
	      ,'13.000.000.000.000,0'
	      ,'13.000.000.000.000,00'
	     );

   Gostaria de ouvir palpites e comentários dos monges sobre isso.
   Obrigado.
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Luis Campos de Carvalho is Computer Scientist,
   PerlMonk [SiteDocClan], Cascavel-pm Moderator,
   Unix Sys Admin && Certified Oracle DBA
   http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=




Mais detalhes sobre a lista de discussão Cascavel-pm