2012-01-30 34 views

Trả lời

8

Bạn có thể sử dụng Character.isLetter(char) trên TextBox của 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 
       } 
      } 
     }); 

Nhưng, Character.isLetter(char) làm việc với ASCII, nếu bạn muốn biết thêm thấy bạn có thể làm điều đó một cái gì đó như thế:

/** 
    * 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); 
    } 

Xem này: http://code.google.com/p/google-web-toolkit/issues/detail?id=1983

+0

Nó hoạt động với UTF-8? tôi cần xác thực ký hiệu tiếng Nga – MyTitle

1

Bạn có thể viết một số mã xác nhận về sự kiện keyTyped để kiểm tra là, những gì bức thư cuối cùng gõ. Đó có phải là một con số hay không. Nếu không thì hiển thị thông báo lỗi.

Hãy thử xem xét KeyLister phương pháp: keyTyped()

1

Javascript để cho phép nhân vật thứ tự chữ cái

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; 
} 
Các vấn đề liên quan