Regex validate PIN code

kata programming

مساله :

ماشین های ATM به شما اجازه می دهند که کدهای PIN را که فقط ۴ یا ۶ رقمی هستند و فقط عدد هستند را وارد کنید.

تابعی بنویسید که اگر یک رشته صحیح کد PIN را گرفت مقدار true را برگرداند و در غیر اینصورت False را برگرداند.

Description:

ATM machines allow 4 or 6 digit PIN codes and PIN codes cannot contain anything but exactly 4 digits or exactly 6 digits.

If the function is passed a valid PIN string, return true, else return false.

Examples

"1234"   -->  true
"12345"  -->  false
"a234"   -->  false

public class Solution {

  public static boolean validatePin(String pin) {
    if (pin.matches("[0-9]+") && (pin.length() == 4 || pin.length() == 6))
		return true;
	return false;
  }

}
import java.util.regex.*;

public class Solution {

  public static boolean validatePin(String pin) {
    return pin.matches("\\d{4}|\\d{6}");
  }

}
public class Solution {

  public static boolean validatePin(String pin) {

    if (pin == null || (pin.length() != 4 && pin.length() != 6)) {
      return false;
    }
    
    for (int i = 0; i < pin.length(); i++) {
      if (!Character.isDigit(pin.charAt(i))) {
        return false;
      }
    }
    return true;

  }

}
public class Solution {

  public static boolean validatePin(String pin) {
        if (pin.matches("\\d{4}|\\d{6}")) {
            return true;
        }
        return false;
    }

}public class Solution {

  public static boolean validatePin(String pin) {
    return pin.matches("[0-9]{4}|[0-9]{6}");
  }

}
public class Solution {
  public static boolean validatePin(String pin) {
    return pin.matches("\\d{4}|\\d{6}");
  }
}
public class Solution {

  public static boolean validatePin(String pin) {
    if (pin.length() == 4 || pin.length() == 6) 
        return pin.chars().allMatch(Character::isDigit);
    return false;
  }

}

دیدگاهتان را بنویسید