2012-01-30 16 views
7

मैं एक टेक्सबॉक्स को कार्यान्वित करना चाहता हूं जहां उपयोगकर्ता केवल अक्षरों को इनपुट कर सकता है। जब उपयोगकर्ता संख्या या अमान्य वर्ण दर्ज करता है, तो एक त्रुटि संदेश के पास दिखाना चाहिए। इस तरह:उपयोगकर्ता को केवल अक्षरों, संख्याओं और अन्य वर्णों को दर्ज करने की अनुमति कैसे दें

enter image description here

+0

आप इस के लिए एक वेब समाधान चाहते हैं? – Kushan

+0

कुशन, हाँ, मैं जीडब्ल्यूटी – MyTitle

उत्तर

8

तो टेक्स्ट बॉक्स के KeyUpHandler पर Character.isLetter(char) उपयोग कर सकते हैं अनुमति देने के लिए रेगुलर एक्सप्रेशन से जोड़ सकते हैं::

KeyLister विधि पर विचार प्रयास करें

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

लेकिन, Character.isLetter(char) काम करता है, आप और अधिक चाहते हैं, तो देखते हैं कि आप ऐसा कुछ कर सकते हैं:

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

इस देखें: http://code.google.com/p/google-web-toolkit/issues/detail?id=1983

+0

का उपयोग करता हूं यह यूटीएफ -8 के साथ काम करता है? मुझे रूसी प्रतीकों की पुष्टि की आवश्यकता है – MyTitle

1

आपको यह देखना होगा, क्या टाइप अंतिम अक्षर था keyTyped घटना पर कुछ सत्यापन कोड लिख सकते हैं। क्या यह एक संख्या थी या नहीं। यदि नहीं तो त्रुटि संदेश दिखाएं। keyTyped()

1

जावास्क्रिप्ट वर्णमाला वर्ण

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; 
} 
संबंधित मुद्दे

 संबंधित मुद्दे