JavaScript - AYUDA validar un numero negativo

 
Vista:

AYUDA validar un numero negativo

Publicado por riveiras (11 intervenciones) el 22/05/2008 18:43:40
Hola a todos
Tengo un input en el que debo poner un numero de longitud 10 o menos(no es un tamañ fixo)
Lo que quiero hacer es que solo me escriba - ( el signo menos) si es el primer caracter.
O que al perder el foco si aparece el signo menos en una posición mayor que la primera saque un alert.
Espero que alguien me pueda ayudar.

Yo estaba intentando hacer esto en el evento onblur de input, pero tiene errores. Además me suena que substring da errores en algunos navegadores.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function comprobarNegativo(cadena){
    var tamanho= cadena.value.length;
    alert("tamanho:"+tamanho);
    var caracter = "";
    if (tamanho > 0){
        for (i=1;i<tamanho;i++) {
            caracter=cadena.substring(i,i+1);
            alert("caracter:"+caracter);
            if ((i!=1)&&(caracter=="-"))
            {
                alert("El formato del número es incorrecto");
            }
        }
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA validar un numero negativo

Publicado por Omar Yépez (14 intervenciones) el 22/05/2008 19:24:46
Hola riveiras riveiras {@} gmail {.} com

Intenta esto espero te sirva

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html, charset=UTF-8"/>
<title>menu</title>
<script language="JavaScript" type="text/javascript">
	//@author Omar Yépez jScript Evangelist
	var vista = {
		isNegative : function(val){
			if(isNaN(val)){
				alert('Debe ser un valor numerico');
			}else{
				if(val<0){
					alert('Debe ser positivo')
				}
			}
		},
		validate : function(){
			vista.isNegative(document.getElementById('txt').value);
		}
	}
 
</script>
</head>
<body>
<input id="txt" name="txt" type="text">
<input name="btnValidate" type="button" value="Validate" onClick="vista.validate()">
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

RE:AYUDA validar un numero negativo

Publicado por riveiras (11 intervenciones) el 23/05/2008 14:01:04
Si pero si se introduce en el input
-6958-544
Cuela?

Yo creo que necesito usar una expresión regular, para permitir escribir o no
en la cual,
en la primera posición permitir escribir - o núemros entre 1 a 9
el resto de posicíones que pueden existir o no serían 9 números, con valor entre 1 a9

El problema, no se construir esta expresión regular.
gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA validar un numero negativo

Publicado por Omar Yépez (14 intervenciones) el 23/05/2008 16:24:03
Primero, que es cuela?

Si cuela significa que no sirve, pues no estas probando bien por que lo hice con el numero que colocaste y me dice que debe ser valor numerico osea que si esta funcionando, para validarlo debes darle click al boton validate.

Prueba bien por favor y avisa......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA validar un numero negativo

Publicado por riveiras (11 intervenciones) el 24/05/2008 16:54:49
Hola de nuevo.

Lo que yo intentaba hacer es que en el evento pulsar del input no se escribiese los caracteres cuando no cumpliesen el patrón que intentaba construir.
Ese patrón como ya dije sería:
-primer caracter, sea un - o un número de 1 a 9
-el resto de caracteres, que tendrá que ser >=1 pero <=9, tendrán que tener el valor de 1 a 9.

Lo que intento es que en los siguientes casos sean de :
ERROR VALIDOS
-12-52 -123456789
- 123
213-561233 -129
65-

Con tu ejemplo y el número -6958-544 , lo da como válido. El problema que tengo , es que al intentar guardarlo en base de datos me da error pq no es un número.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA validar un numero negativo

Publicado por Omar Yépez (14 intervenciones) el 25/05/2008 03:55:49
Bueno quizas es el navegador que estes usando por que ami me funciona perfectamente ahora si lo que quieres es que no te permita aceptar los caracteres en el textbox tendrias que hacer la funcion que te mande lo ejecute el evento onkeypress() del textbox.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:AYUDA validar un numero negativo

Publicado por Penelope (1 intervención) el 12/07/2017 19:56:24
Muy buena respuesta, me sirvió de mucho, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar