Thread View: chile.comp.programacion
6 messages
6 total messages
Started by Pintamono
Thu, 20 Dec 2007 21:09
Expresion Reular III
Author: Pintamono
Date: Thu, 20 Dec 2007 21:09
Date: Thu, 20 Dec 2007 21:09
25 lines
1533 bytes
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
Author: Pintamono
Date: Thu, 20 Dec 2007 21:10
Date: Thu, 20 Dec 2007 21:10
31 lines
1719 bytes
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
Author: gato2006chile
Date: Fri, 21 Dec 2007 07:14
Date: Fri, 21 Dec 2007 07:14
49 lines
2591 bytes
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
Author: Pintamono
Date: Fri, 21 Dec 2007 13:55
Date: Fri, 21 Dec 2007 13:55
92 lines
3561 bytes
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
Author: Pintamono
Date: Fri, 21 Dec 2007 17:42
Date: Fri, 21 Dec 2007 17:42
107 lines
4360 bytes
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
Author: gato2006chile
Date: Fri, 21 Dec 2007 18:00
Date: Fri, 21 Dec 2007 18:00
96 lines
4186 bytes
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