2012-01-30 34 views

Respuesta

8

Puede utilizar Character.isLetter(char) el de cuadro de texto keyUpHandler:

textBox.addKeyUpHandler(new KeyUpHandler() { 
      public void onKeyUp(KeyUpEvent event) { 
       if (!Character.isLetter(event.getNativeKeyCode())) { 
        ((TextBox)event.getSource()).cancelKey(); 
        customPopup.showRelativeTo(textBox);// your styled PopupPanel 
       } 
      } 
     }); 

Pero, Character.isLetter(char) trabajan con ASCII, si desea más información, véase lo puede hacer algo así:

/** 
    * A better implementation of isLetter -- the default GWT version doesn't 
    * support non-English characters. 
    * 
    * @param c the character to check 
    * @return whether the character represents and alphabetic symbol. 
    */ 
    public static boolean isLetter(char c) { 
     int val = (int) c; 

     return inRange(val, 65, 90) || inRange(val, 97, 122) || inRange(val, 192, 687) || inRange(val, 900, 1159) || 
     inRange(val, 1162, 1315) || inRange(val, 1329, 1366) || inRange(val, 1377, 1415) || inRange(val, 1425, 1610); 
    } 

    /** 
    * Checks if an int value is in a range. 
    * @param value value to check 
    * @param min min value 
    * @param max max value 
    * @return whether value is in the range, inclusively. 
    */ 
    public static boolean inRange(int value, int min, int max) { 
     return (value <= max) & (value >= min); 
    } 

ver esto: http://code.google.com/p/google-web-toolkit/issues/detail?id=1983

+0

¿Funciona con UTF-8? necesito validar los símbolos rusos – MyTitle

1

puede escribir algún código de validación en el evento keyTyped para comprobar, lo que fue la última carta escrita a máquina. Fue un número o no. Si no, entonces muestra un mensaje de error.

Trate de considerar KeyLister método: keyTyped()

1

Puede añadir expresiones regulares que hacer this

1

Javascript para permitir caracteres alfabéticos

function AllowAlphabet(e) 
{ 

    keyEntry = !isIE ? e.which : event.keyCode; 
    if (((keyEntry >= '65') && (keyEntry <= '90')) || ((keyEntry >= '97') && (keyEntry <= 
    '122')) || (keyEntry == '46') || (keyEntry == '32') || keyEntry == '45') 
    return true; 
} 
Cuestiones relacionadas