Bom dia a todos, estou tentando validar um campo que rebebe um valor monetario, e procurava uma expressão regular para isso, não encontrei nenhuma que fucione alguem pode me ajudar?
Como validar um campo com mascar para valor monetario?
11 Respostas
web, ou swing?
WEB
olha cara eu achei alguma coisa aqui ve se serve para voce
^$?[0-9]+(,[0-9]{3})*(.[0-9]{2})?$
$ seguido de um numero de 0 à 9.
0-9 3 casas(quantas vezes necessario)
depois mais um . seguido de 0 a 9 duas casas.
é isso acho que tá no padrao americano com dolares só alterar.
ve se serve para você cara.
abraço
Valeu pela ajuda, mas da uma mensagem de illegal scape character.
tenta essa cara
RegExp( /^$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:.\d{1,2}){0,1}$/ );
ó o site que eu achei elas é esse:
http://forums.devshed.com/net-development-87/custom-validation-regular-expression-money-113412.html
pesquisei no google por monetary regular expression
Meu codigo esta assim, e o erro continua, será que estou fazendo algo de errado?
if (!Utilitario.isEmpty(salario)) {
//Pattern pattern = Pattern.compile("^(?:[1-9](?:[\d]{0,2}(?:\.[\d]{3})*|[\d]+)|0)(?:,[\d]{0,2})?$");
Pattern pattern = Pattern.compile("/^\$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2}){0,1}$/");
Matcher matcher = pattern.matcher(salario);
if (matcher.matches() == false) {
getErrors().add("Campo Valor incorreto!!!");
}
}
tente agora
/^\$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2}){0,1}$/"
acho que era o problema das barras
Cara agora esta funcionando, a unica coisa e que tentei modificar par o padrão brasileiro incluindo o R antes do $, mas nõa deu certo, vc saberia como modificar?
olha cara depois de muitas tentativas eu acho que eu consegui oq voce queria
//valida no estilo 192.123,00
//123,00, 1,00
// qualquer valor monetário ele valida! no estilo brasileiro
Pattern pattern = Pattern.compile("^[-+]?\d{1,3}(\.\d{3})*,\d{2}$");
ae eu acho que agora vai dar certo, aqui eu testei e deu. espero ter ajudado, um site legal para voce testar suas expressões regulares é esse: http://tools.lymas.com.br/regexp_br.php#
abraco
Obrigado funcionou, Deus lhe pague e abençoe pela ajuda!
que isso cara, precisando estamos ai 