2010-09-17 24 views
6

जावा में स्ट्रिंग को कैसे सत्यापित किया जा सकता है? अर्थात। केवल पात्रों की अनुमति है और संख्या नहीं? ईमेल सत्यापन के बारे में कैसे?जावा में स्ट्रिंग को कैसे सत्यापित किया जा सकता है?

+4

आप नियमित अभिव्यक्तियों को देख सकते हैं: http://download.oracle.com/javase/tutorial/essential/regex/ – MatrixFrog

उत्तर

5

केवल पात्रों के साथ स्ट्रिंग के लिए कोशिश

private boolean verifyLastName(String lname) 
{ 
    lname = lname.trim(); 

    if(lname == null || lname.equals("")) 
     return false; 

    if(!lname.matches("[a-zA-Z]*")) 
     return false; 

    return true; 
} 
ईमेल सत्यापन के लिए

कोशिश

private boolean verifyEmail(String email) 
{ 
    email = email.trim(); 

    if(email == null || email.equals("")) 
     return false; 

    if(!email.matches("^[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$")) 
     return false; 

    return true; 
} 
+1

खाली स्ट्रिंग की जांच करने या इसे ट्रिम करने में वास्तव में कोई बिंदु नहीं है क्योंकि आप उन लोगों का ख्याल रख सकते हैं regex। – NullUserException

+0

मैं एनयूई – jsshah

+0

से सहमत हूं, शून्य ट्रिम के बाद 'ट्रिम' किया जाना चाहिए ... या फिर आप NullPointerException फेंक देंगे ... – st0le

7

कैसे एक स्ट्रिंग जावा में मान्य किया जा सकता है?

ऐसा करने का एक आम तरीका रेगेक्स, या नियमित अभिव्यक्ति का उपयोग करके है। जावा में आप String.matches(String regex) विधि का उपयोग कर सकते हैं। रेगेक्स के साथ हम कहते हैं कि आप पैटर्न के विरुद्ध एक स्ट्रिंग से मेल खाते हैं यदि कोई मिलान सफल होता है, तो .matches() सत्य देता है।


केवल वर्णों को अनुमति नहीं है और संख्या?

// You can use this pattern: 
String regex = "^[a-zA-Z]+$"; 
if (str.matches(regex)) { 
    // ... 
} 

ईमेल सत्यापन?

ईमेल पते में very complicated spec है, जिसके लिए एक राक्षसी रेगेक्स सटीक होना आवश्यक है। यह एक सभ्य और छोटी, लेकिन नहीं बिल्कुल सही है:

String regex = "\\b[A-Z0-9._%+-][email protected][A-Z0-9.-]+\\.[A-Z]{2,4}\\b"; 
if (str.matches(regex)) { 
    // ... 
} 

तुम सच में इस पर गौर करना चाहते हैं: How to validate email और Comparing email validating regexes (PHP)।


यहाँ एक उत्कृष्ट संसाधन regex पर आरंभ करने के लिए है: के रूप में पहले से ही NullUserException सुझाव
http://www.regular-expressions.info

4

कि तरह साधारण मामलों के लिए, रेगुलर एक्सप्रेशन के साथ चलते हैं। यदि आपको अधिक मजबूत समाधान की आवश्यकता है तो आप कुछ सत्यापन ढांचे का उपयोग कर सकते हैं, यानी Apache Commons Validator

1

यदि आपके पास प्रोजेक्ट निर्भरता (और यह काफी सामान्य है) के रूप में Apache commons-lang है, तो आप StringUtils.isAlpha() का उपयोग कर सकते हैं। यदि आपके पास अधिक विशिष्ट सत्यापन है या आप कॉमन्स-लैंग पर निर्भरता नहीं चाहते हैं, तो आप इसे नियमित अभिव्यक्तियों और String.matches() के साथ कर सकते हैं।

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