Foros del Web » Programando para Internet » Javascript »

Funcion para Validar Campo Moneda

Estas en el tema de Funcion para Validar Campo Moneda en el foro de Javascript en Foros del Web. Necesito alguien que me ayude con un script para validar que un campo de entrada de texto sea de tipo moneda. Es decir una funcion ...
  #1 (permalink)  
Antiguo 16/11/2009, 10:13
 
Fecha de Ingreso: octubre-2009
Mensajes: 9
Antigüedad: 14 años, 5 meses
Puntos: 0
Funcion para Validar Campo Moneda

Necesito alguien que me ayude con un script para validar que un campo de entrada de texto sea de tipo moneda.

Es decir una funcion que yo llame que me valide que el campo tenga el formato de moneda, por ejemplo con este formato..

1,234.50

Gracias
  #2 (permalink)  
Antiguo 16/11/2009, 13:18
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Funcion para Validar Campo Moneda

Hola aqui te dejo un codigo espero te funcione.... yo ocupe este hace tiempo atras pero recuerdo que si me funciono...

<script language="JavaScript">
//Código para colocar
//los indicadores de miles mientras se escribe
//script por tunait!
function puntitos(donde,caracter){
pat = /[\*,\+,\(,\),\?,\,$,\[,\],\^]/
valor = donde.value
largo = valor.length
crtr = true
if(isNaN(caracter) || pat.test(caracter) == true){
if (pat.test(caracter)==true){
caracter = "\" + caracter
}
carcter = new RegExp(caracter,"g")
valor = valor.replace(carcter,"")
donde.value = valor
crtr = false
}
else{
var nums = new Array()
cont = 0
for(m=0;m<largo;m++){
if(valor.charAt(m) == "." || valor.charAt(m) == " ")
{continue;}
else{
nums[cont] = valor.charAt(m)
cont++
}
}
}
var cad1="",cad2="",tres=0
if(largo > 3 && crtr == true){
for (k=nums.length-1;k>=0;k--){
cad1 = nums[k]
cad2 = cad1 + cad2
tres++
if((tres%3) == 0){
if(k!=0){
cad2 = "." + cad2
}
}
}
donde.value = cad2
}
}
</script>


Y el campo de texto:

<input type="text" name="pepe" onkeyup = "puntitos(this,this.value.charAt(this.value.le ngth-1))">



Suerte!
  #3 (permalink)  
Antiguo 16/11/2009, 13:20
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Funcion para Validar Campo Moneda

aps!
se me olvido el codigo lo saque de este pagina
w w w .tunait.com/javascript/?s=puntos#codigo

ahi podras probar si es lo que buscas...
  #4 (permalink)  
Antiguo 17/11/2009, 00:09
Avatar de RastaMart  
Fecha de Ingreso: noviembre-2006
Mensajes: 91
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Funcion para Validar Campo Moneda

Mi estimado, el codigo me comete error obteniendolo de ambas pagias.

error:


Mensaje: Syntax error
Línea: 12
Carácter: 1
Código: 0
URI: http://paginaweb/formulario.php?op=g
  #5 (permalink)  
Antiguo 17/11/2009, 00:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Funcion para Validar Campo Moneda

el codigo de tunait es mas bien parecido a una mascara pero no permite introducir decimales. en todo caso, si se desea validar que el formato sea valido, a continuacion una expresion regular para ello.
Código:
/^(\d{1,3},)*\d{1,3}(\.\d+)?$/
dado que algunos paises utilizan diferentes formatos para separar miles y decimales, se tiene que cambiar la porcion coloreado en rojo. un ejemplo de uso.
Código:
<input type="text" onblur="if(!/^(\d{1,3},)*\d{1,3}(\.\d+)?$/.test(this.value) && this.value.length)alert('formato no valido');" />
este codigo no tiene nada parecido a una mascara, simplemente valida el formato.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 17/11/2009, 10:08
Avatar de RastaMart  
Fecha de Ingreso: noviembre-2006
Mensajes: 91
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Funcion para Validar Campo Moneda

mira yo lo puse asi no se en que este fallando, y me comete error,
Código PHP:
 echo"<input name='txtentrada' type='text' size='40' onblur='if(!/^(\d{1,3},)*\d{1,3}(\.\d+)?$/.test(this.value) && this.value.length)alert(formato no valido);'  maxlength=50 style='position:relative; margin:22px 0px 10px 355px; border-width: 1px; border-style: solid; font-size:11pt; color: #009900; '>"
y me comete este error:
Detalles de error de página web


Mensaje: Expected ')'
Línea: 55
Carácter: 88
Código: 0
URI: http://paginaweb/formulario.php?op=m


me podrias ayudar en que estoy fallando.

Muchas Gracias
  #7 (permalink)  
Antiguo 17/11/2009, 10:17
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Funcion para Validar Campo Moneda

el problema es que le quitastes las comillas string en el alert.
Código:
alert(\"formato no valido\");
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 17/11/2009, 20:34
Avatar de RastaMart  
Fecha de Ingreso: noviembre-2006
Mensajes: 91
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Funcion para Validar Campo Moneda

emm Mil gracias mi estimado, le indicare al usuario que nada mas ingrese datos numericos tipo moneda, es mas facil jeje....

Se les agradece sus ayuda.
  #9 (permalink)  
Antiguo 17/11/2009, 20:40
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Funcion para Validar Campo Moneda

Cita:
le indicare al usuario que nada mas ingrese datos numericos tipo moneda, es mas facil
jejeje! en verdad que si. pero igual tendras que validarlo si es un dato importante, lo unico que esta vez en el servidor.

el problema que estabas teniendo es que estas mezclando php y javascript, y por ende supongo que salio el problema del string.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 20/08/2013, 09:41
 
Fecha de Ingreso: abril-2010
Mensajes: 229
Antigüedad: 14 años
Puntos: 3
Respuesta: Funcion para Validar Campo Moneda

Este código si funciona solo hay que arreglarlo

<script language="JavaScript">
//Código para colocar
//los indicadores de miles mientras se escribe
//script por tunait!
function puntitos(donde,caracter)
{
pat = /[\*,\+,\(,\),\?,\,$,\[,\],\^]/;
valor = donde.value;
largo = valor.length;
crtr = true;
if(isNaN(caracter) || pat.test(caracter) == true)
{
if (pat.test(caracter)==true)
{
caracter = "\" + caracter "
}
caracter = new RegExp(caracter,"g");
valor = valor.replace(carcter,"");
donde.value = valor;
crtr = false;
}
else
{
var nums = new Array()
cont = 0
for(m=0;m<largo;m++)
{
if(valor.charAt(m) == "." || valor.charAt(m) == " ")
{
continue;
}
else
{
nums[cont] = valor.charAt(m);
cont++;
}
}
}

var cad1="", cad2="", tres=0;

if(largo > 3 && crtr == true)
{
for (k=nums.length-1;k>=0;k--)
{
cad1 = nums[k];
cad2 = cad1 + cad2;
tres++;
if((tres%3) == 0)
{
if(k!=0)
{
cad2 = "." + cad2;
}
}
}
donde.value = cad2;
}
}
</script>
<html><body>
<form name="form">
<input type="text" name="pepe" id="moneda" onkeyup="puntitos(this,this.value.charAt(this.valu e.length-1))"></form></body></html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 18:53.