Bloquear caracteres en los Imput

Como indica el nombre del foro en el moveremos todos los temas de dudas que se resuelvan con exito .
Este foro no tendra permisos de escritura.

tu no dijiste nada de decimales

Imagen

Probaré ceone gracias.

por ahora tengo esto que es una combinación de lo buenos ejemplo que publicaron rafaxplayer y abood1987, solo tiene 2 problemitas para variar jejeje!! el primero que te deja poner mas de 2 puntos y en los decimales solo tenemos uno y el otro que no borra el ultimo, solo lo selecciona, el problema está en esta linea del codigo que no funciona

Código: Seleccionar todo

Input.Delete("Input1");-- delete...
porque la quité y el resultado es el mismo, aqui les pongo el codigo:

function IsNumeric(sValueIn)--Worm Function --I think this is a sagacity in trick!
        if String.Length(string.gsub(sValueIn, "[%d.]", "")) == 0 then
                return true
        else
                return false
        end
end
bTF =IsNumeric(Input.GetText("Input1"));
if bTF then
        
        else
        Dialog.Message("Error", "Introduzca un valor numerico valido");
      
   --Input.SetText("Input1", "");
   
   s = Input.GetText("Input1");-- gettext
 Input.SetSelection("Input1", s:len(), -1);-- selccionamos ultimo caracter
   Input.Delete("Input1");-- delete...
         
end

Prueba este regex :

Código: Seleccionar todo

[%d]%.?

rafaxplayer escribió:Prueba este regex :

Código: Seleccionar todo

[%d]%.?
+1
Gracias de nuevo amigos, pero nada, no se si quizás exista algo como "%d" pero para números decimales o si se pudiera limitar que el punto (".") solo lo permitiera una sola vez al igual que el guion ("-") para los numeros negativos. lo bueno es que con su ayuda está mejor que como estaba antes xD Gracias :sorry:

por ahora con el regex que te pasao el punto solo lo permite una vez no ? si quieres añadir el negativo podria ser este:

Código: Seleccionar todo

^%-?[%d]%.?
Pruevalo y me dices ;)

jejejeje fino pero ahora no me deja repetir nuemeros :sorry:

está así
function IsNumeric(sValueIn)--Worm Function --I think this is a sagacity in trick!
        if String.Length(string.gsub(sValueIn, "^%-?[%d]%.?", "")) == 0 then
                return true
        else
                return false
        end
end
bTF =IsNumeric(Input.GetText("Input1"));
if bTF then
        
        else
        Dialog.Message("Error", "Introduzca un valor numerico valido");
      
     
   s = Input.GetText("Input1");-- gettext
 Input.SetSelection("Input1", s:len(), -1);-- selccionamos ultimo caracter
   Input.Delete("Input1");-- delete...
         
end

en el anterior no repetia el puto de seguido pero si lo presionabas mas adelante si por ejemplo asi 231.44.44 eso si lo permitia

Ahoraaaa Siiiii pero si repite los puntos, no de seguido pero si pones otro caractér te permite volver a poner el punto.

Muchas Gracias, hasta los momentos Está Así:
function IsNumeric(sValueIn)--Worm Function --I think this is a sagacity in trick!
        if String.Length(string.gsub(sValueIn,"[%d]%-?%.?%^?", "")) == 0 then
                return true
        else
                return false
        end
end
bTF =IsNumeric(Input.GetText("Input1"));
if bTF then
        
        else
            Dialog.Message("Error", "Introduzca un valor valido");
     
   s = Input.GetText("Input1");-- gettext
 Input.SetSelection("Input1", s:len(), -1);-- seleccionamos ultimo caracter
   Input.Delete("Input1");-- delete... -- esta linea no funciona (el código no borra el valor)
         
end

ostia es verdad , dejame que lo mire...

Bueno creo que di con el clavo :

Código: Seleccionar todo

"%d+%.?%d*"

+100 excelente jejejeje Eres un PRO, lo unico, es que si el valor es negativo no me permite introducirlo jajaja

Ahora si con

Código: Seleccionar todo

"[-%d]+%.?%d*"
lo único malo es que deja repetir el menos (-) Muchas gracias :pc:

Bueno muchachos yo creo que ya esto se puede ir a dudas resueltas, GRACIAS a Ceone, abood1987 y a rafaxplayer por haber dado en el clavo... Saludosss