How to allow the user to enter only letters, numbers and other characters

I want to implement a TexBox where the user can enter only letters. When a user enters numbers or invalid characters, an error message should appear next to it. Like this:

enter image description here

+7
source share
4 answers

You can use Character.isLetter(char) in a TextBox 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 } } }); 

But, Character.isLetter(char) works with ASCII, if you want to see more, you can do something like this:

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

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

+8
source

You can write a verification code for the keyTyped event to check what was the last letter entered. Was this number or not. If not, then show the error message.

Try to consider the KeyLister method: keyTyped()

+1
source

You can add regex for this

+1
source

Javascript for creating alphabetic characters

 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; } 
+1
source

All Articles