2015-11-01 115 views
1

假設用戶輸入文字。如何檢查相應的String僅由字母和數字組成?如何檢查字符串是否僅由字母和數字組成

import java.util.Scanner; 
public class StringValidation { 
    public static void main(String[] args) { 
     Scanner in = new Scanner(System.in); 
     System.out.println("Enter your password"); 
     String name = in.nextLine(); 
     (inert here) 
+2

選項1:通過串循環地和單獨地檢查每個字符。選項2:正則表達式:'name.matches(「[a-zA-Z0-9] *」);' - 假設您的意思是正常字母,而不是重音字符或類似的東西。 – khelwood

+0

[如何檢查字符串是否是數字?]的可能重複(http://stackoverflow.com/questions/14206768/how-to-check-if-a-string-is-numeric) –

回答

4
  1. 使用正則表達式:

    Pattern pattern = Pattern.compile("\\p{Alnum}+"); 
    Matcher matcher = pattern.matcher(name); 
    if (!matcher.matches()) { 
        // found invalid char 
    } 
    
  2. for循環,沒有正則表達式:

    for (char c : name.toCharArray()) { 
        if (!Character.isLetterOrDigit(c)) { 
         // found invalid char 
         break; 
        } 
    } 
    

這兩種方法都將匹配大寫和小寫字母和數字,但不是負數或浮點數rs

相關問題