🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: chile.comp.programacion
6 messages
6 total messages Started by Pintamono Thu, 20 Dec 2007 21:09
Expresion Reular III
#582
Author: Pintamono
Date: Thu, 20 Dec 2007 21:09
25 lines
1533 bytes
Que tal...

Necesito validar que un campo de texto sea numerico y que en algunos casos 
sea un numero decimal

100000 o 1,3   debe ser "coma" el separador de decimales

Tengo esta validacion de pruebas

var Valor = /[\d]+\,{1}?[\d]+/
if (!Valor.test(obj.value))
  alert(obj.value);

si ingreso 3.3 me deberia mostrar el alert pero no pasa na

si ingreso 122,22 me muestra el alert pero con valor 0 en vez de 122,22

He revisado varias expresiones para lo mismo pero on he logrado lo que 
necesito...

alguien tiene una por ahi que sirva?

la idea es solamente ingresar valores numericos o decimales...

eso... gracias.
Re: Expresion Reular III
#583
Author: Pintamono
Date: Thu, 20 Dec 2007 21:10
31 lines
1719 bytes
Olvide mencionar que es javascript...

gracias.

Pintamono wrote:

> Que tal...

> Necesito validar que un campo de texto sea numerico y que en algunos casos 
> sea un numero decimal

> 100000 o 1,3   debe ser "coma" el separador de decimales

> Tengo esta validacion de pruebas

> var Valor = /[\d]+\,{1}?[\d]+/
> if (!Valor.test(obj.value))
>   alert(obj.value);

> si ingreso 3.3 me deberia mostrar el alert pero no pasa na

> si ingreso 122,22 me muestra el alert pero con valor 0 en vez de 122,22

> He revisado varias expresiones para lo mismo pero on he logrado lo que 
> necesito...

> alguien tiene una por ahi que sirva?

> la idea es solamente ingresar valores numericos o decimales...

> eso... gracias.
Re: Expresion Reular III
#589
Author: gato2006chile
Date: Fri, 21 Dec 2007 07:14
49 lines
2591 bytes
  var Valor = /[\d]+\,{1}?[\d]+/
>> if (!Valor.test(obj.value))
>>   alert(obj.value);
> 
>> si ingreso 3.3 me deberia mostrar el alert pero no pasa na
> 
>> si ingreso 122,22 me muestra el alert pero con valor 0 en vez de 122,22
> 
>> He revisado varias expresiones para lo mismo pero on he logrado lo que 
>> necesito...
> 
>> alguien tiene una por ahi que sirva?
> 
>> la idea es solamente ingresar valores numericos o decimales...
> 
>> eso... gracias.
> 
> 
Si ingresas 3.3 no es un string valido, la expresion solo valida numeros 
del tipo 3,3
/[\d]+\,{1}?[\d]+/

La expresion para validar todos los casos(numeros, con , y con .) seria
/[\d]+|[\d]+\,{1}?[\d]+|[\d]+\.{1}?[\d]+/

Lo que estas comprobando con test es si la cadena ingresada es 
valida(true), si lo es no te debiera aparecer nada

Esto funciona segun he visto, comprueba que ondblclick este bien escrito 
y que el objeto al cual haces referencia tenga definido el campo id:


<html><head>
<meta content="text/html; charset=ISO-8859-1" 
http-equiv="content-type"><title></title>

</head><body>
<form method="post" name="gato"><input id="gati" name="gati" 
ondblclick="javascript:Test();"><br>
</form>
<script language="javascript" type="text/javascript">
function Test()
{
Valor = /[\d]+|[\d]+\,{1}?[\d]+|[\d]+\.{1}?[\d]+/
if (Valor.test(document.getElementById("gati").value))
alert(document.getElementById("gati").value);
}
</script>
</body></html>
Re: Expresion Reular III
#590
Author: Pintamono
Date: Fri, 21 Dec 2007 13:55
92 lines
3561 bytes
gato2006chile wrote:

>   var Valor = /[\d]+\,{1}?[\d]+/
>>> if (!Valor.test(obj.value))
>>>   alert(obj.value);
>> 
>>> si ingreso 3.3 me deberia mostrar el alert pero no pasa na
>> 
>>> si ingreso 122,22 me muestra el alert pero con valor 0 en vez de 122,22
>> 
>>> He revisado varias expresiones para lo mismo pero on he logrado lo que 
>>> necesito...
>> 
>>> alguien tiene una por ahi que sirva?
>> 
>>> la idea es solamente ingresar valores numericos o decimales...
>> 
>>> eso... gracias.
>> 
>> 
> Si ingresas 3.3 no es un string valido, la expresion solo valida numeros 
> del tipo 3,3
> /[\d]+\,{1}?[\d]+/

> La expresion para validar todos los casos(numeros, con , y con .) seria
> /[\d]+|[\d]+\,{1}?[\d]+|[\d]+\.{1}?[\d]+/

> Lo que estas comprobando con test es si la cadena ingresada es 
> valida(true), si lo es no te debiera aparecer nada

> Esto funciona segun he visto, comprueba que ondblclick este bien escrito 
> y que el objeto al cual haces referencia tenga definido el campo id:


> <html><head>
> <meta content="text/html; charset=ISO-8859-1" 
> http-equiv="content-type"><title></title>

> </head><body>
> <form method="post" name="gato"><input id="gati" name="gati" 
> ondblclick="javascript:Test();"><br>
> </form>
> <script language="javascript" type="text/javascript">
> function Test()
> {
> Valor = /[\d]+|[\d]+\,{1}?[\d]+|[\d]+\.{1}?[\d]+/
> if (Valor.test(document.getElementById("gati").value))
> alert(document.getElementById("gati").value);
> }
> </script>
> </body></html>


Gracias,

Amonone lo que mandaste para adecuarlo a lo que necesito, entonces la 
expresion quedo asi:

[\d]+|[\d]+\,{1}?[\d]+

el problema con esto es que me acepta valores como 1,2p no entiendo que 
onda ya que en un programa que encontre para expresiones llamado 
visual_regexp 3.1 me valida perfecto pero en el js nop...

esto hice con tu ejemplo:

<html><head>
<meta content="text/html; charset=ISO-8859-1" 
http-equiv="content-type"><title></title>

</head><body>
<form method="post" name="gato"><input id="gati" name="gati" 
ondblclick="javascript:Test();"><br>
	<input type=button onclick="javascript:Test();" value="boton">
</form>
<script language="javascript" type="text/javascript">
function Test()
{
	Valor = /[\d]+|[\d]+\,{1}?[\d]+/
	if (Valor.test(document.getElementById("gati").value))
	{
		alert(document.getElementById("gati").value);
		alert ("true");
	}
	else
		alert("false");
}
</script>
</body></html> 


Gracias.
Re: Expresion Reular III
#592
Author: Pintamono
Date: Fri, 21 Dec 2007 17:42
107 lines
4360 bytes
GRACIAS!!!!


Ahora si...

Muchas Gracias!!!



gato2006chile wrote:

> Se me paso, debia especificar el simbolo de inicio y termino de la cadena.

> Cuando tecleabas 1,2p encontraba la cadena 1,2; luego la cadena era 
> valida, al especificar inicio y fin de la cadena no ocurre.

> La expresion regular para numeros, con , y . es:
> /^[\d]+$|^[\d]+\,{1}?[\d]+$|^[\d]+\.{1}?[\d]+$/

> Pintamono escribi�:
>> gato2006chile wrote:
>> 
>>>   var Valor = /[\d]+\,{1}?[\d]+/
>>>>> if (!Valor.test(obj.value))
>>>>>   alert(obj.value);
>>>>> si ingreso 3.3 me deberia mostrar el alert pero no pasa na
>>>>> si ingreso 122,22 me muestra el alert pero con valor 0 en vez de 122,22
>>>>> He revisado varias expresiones para lo mismo pero on he logrado lo que 
>>>>> necesito...
>>>>> alguien tiene una por ahi que sirva?
>>>>> la idea es solamente ingresar valores numericos o decimales...
>>>>> eso... gracias.
>>>>
>>> Si ingresas 3.3 no es un string valido, la expresion solo valida numeros 
>>> del tipo 3,3
>>> /[\d]+\,{1}?[\d]+/
>> 
>>> La expresion para validar todos los casos(numeros, con , y con .) seria
>>> /[\d]+|[\d]+\,{1}?[\d]+|[\d]+\.{1}?[\d]+/
>> 
>>> Lo que estas comprobando con test es si la cadena ingresada es 
>>> valida(true), si lo es no te debiera aparecer nada
>> 
>>> Esto funciona segun he visto, comprueba que ondblclick este bien escrito 
>>> y que el objeto al cual haces referencia tenga definido el campo id:
>> 
>> 
>>> <html><head>
>>> <meta content="text/html; charset=ISO-8859-1" 
>>> http-equiv="content-type"><title></title>
>> 
>>> </head><body>
>>> <form method="post" name="gato"><input id="gati" name="gati" 
>>> ondblclick="javascript:Test();"><br>
>>> </form>
>>> <script language="javascript" type="text/javascript">
>>> function Test()
>>> {
>>> Valor = /[\d]+|[\d]+\,{1}?[\d]+|[\d]+\.{1}?[\d]+/
>>> if (Valor.test(document.getElementById("gati").value))
>>> alert(document.getElementById("gati").value);
>>> }
>>> </script>
>>> </body></html>
>> 
>> 
>> Gracias,
>> 
>> Amonone lo que mandaste para adecuarlo a lo que necesito, entonces la 
>> expresion quedo asi:
>> 
>> [\d]+|[\d]+\,{1}?[\d]+
>> 
>> el problema con esto es que me acepta valores como 1,2p no entiendo que 
>> onda ya que en un programa que encontre para expresiones llamado 
>> visual_regexp 3.1 me valida perfecto pero en el js nop...
>> 
>> esto hice con tu ejemplo:
>> 
>> <html><head>
>> <meta content="text/html; charset=ISO-8859-1" 
>> http-equiv="content-type"><title></title>
>> 
>> </head><body>
>> <form method="post" name="gato"><input id="gati" name="gati" 
>> ondblclick="javascript:Test();"><br>
>> 	<input type=button onclick="javascript:Test();" value="boton">
>> </form>
>> <script language="javascript" type="text/javascript">
>> function Test()
>> {
>> 	Valor = /[\d]+|[\d]+\,{1}?[\d]+/
>> 	if (Valor.test(document.getElementById("gati").value))
>> 	{
>> 		alert(document.getElementById("gati").value);
>> 		alert ("true");
>> 	}
>> 	else
>> 		alert("false");
>> }
>> </script>
>> </body></html> 
>> 
>> 
>> Gracias.
>> 
>>
Re: Expresion Reular III
#591
Author: gato2006chile
Date: Fri, 21 Dec 2007 18:00
96 lines
4186 bytes
Se me paso, debia especificar el simbolo de inicio y termino de la cadena.

Cuando tecleabas 1,2p encontraba la cadena 1,2; luego la cadena era 
valida, al especificar inicio y fin de la cadena no ocurre.

La expresion regular para numeros, con , y . es:
/^[\d]+$|^[\d]+\,{1}?[\d]+$|^[\d]+\.{1}?[\d]+$/

Pintamono escribi�:
> gato2006chile wrote:
> 
>>   var Valor = /[\d]+\,{1}?[\d]+/
>>>> if (!Valor.test(obj.value))
>>>>   alert(obj.value);
>>>> si ingreso 3.3 me deberia mostrar el alert pero no pasa na
>>>> si ingreso 122,22 me muestra el alert pero con valor 0 en vez de 122,22
>>>> He revisado varias expresiones para lo mismo pero on he logrado lo que 
>>>> necesito...
>>>> alguien tiene una por ahi que sirva?
>>>> la idea es solamente ingresar valores numericos o decimales...
>>>> eso... gracias.
>>>
>> Si ingresas 3.3 no es un string valido, la expresion solo valida numeros 
>> del tipo 3,3
>> /[\d]+\,{1}?[\d]+/
> 
>> La expresion para validar todos los casos(numeros, con , y con .) seria
>> /[\d]+|[\d]+\,{1}?[\d]+|[\d]+\.{1}?[\d]+/
> 
>> Lo que estas comprobando con test es si la cadena ingresada es 
>> valida(true), si lo es no te debiera aparecer nada
> 
>> Esto funciona segun he visto, comprueba que ondblclick este bien escrito 
>> y que el objeto al cual haces referencia tenga definido el campo id:
> 
> 
>> <html><head>
>> <meta content="text/html; charset=ISO-8859-1" 
>> http-equiv="content-type"><title></title>
> 
>> </head><body>
>> <form method="post" name="gato"><input id="gati" name="gati" 
>> ondblclick="javascript:Test();"><br>
>> </form>
>> <script language="javascript" type="text/javascript">
>> function Test()
>> {
>> Valor = /[\d]+|[\d]+\,{1}?[\d]+|[\d]+\.{1}?[\d]+/
>> if (Valor.test(document.getElementById("gati").value))
>> alert(document.getElementById("gati").value);
>> }
>> </script>
>> </body></html>
> 
> 
> Gracias,
> 
> Amonone lo que mandaste para adecuarlo a lo que necesito, entonces la 
> expresion quedo asi:
> 
> [\d]+|[\d]+\,{1}?[\d]+
> 
> el problema con esto es que me acepta valores como 1,2p no entiendo que 
> onda ya que en un programa que encontre para expresiones llamado 
> visual_regexp 3.1 me valida perfecto pero en el js nop...
> 
> esto hice con tu ejemplo:
> 
> <html><head>
> <meta content="text/html; charset=ISO-8859-1" 
> http-equiv="content-type"><title></title>
> 
> </head><body>
> <form method="post" name="gato"><input id="gati" name="gati" 
> ondblclick="javascript:Test();"><br>
> 	<input type=button onclick="javascript:Test();" value="boton">
> </form>
> <script language="javascript" type="text/javascript">
> function Test()
> {
> 	Valor = /[\d]+|[\d]+\,{1}?[\d]+/
> 	if (Valor.test(document.getElementById("gati").value))
> 	{
> 		alert(document.getElementById("gati").value);
> 		alert ("true");
> 	}
> 	else
> 		alert("false");
> }
> </script>
> </body></html> 
> 
> 
> Gracias.
> 
> 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads