本文共 1759 字,大约阅读时间需要 5 分钟。
package com.dwh.util;
import java.util.Arrays;public class BizLicenseTools { public static boolean isContainLetter(String str){ for (int i = 0; i < str.length(); i++) { if(Character.isLetter(str.charAt(i))){ return true; } } return false; } public static boolean isContainInvalidChr(String str){ String[] invalid = { "I","O","Z","S","V"}; System.out.println("check invalid character"); for (int i = 0; i < str.length(); i++) { Character chr = str.charAt(i); System.out.println("current character:" + chr.toString()); if(Arrays.asList(invalid).contains(chr.toString())){ System.out.println("Contain the invalid Character: " + chr.toString()); return true; } } return false; } public static boolean isSameNumbers(String str){ for (int i = 0; i < str.length(); i++) { if (str.charAt(i) != str.charAt(0) && !Character.isDigit(str.charAt(i))) return false; } return true; } //1 BusinessLicenseType != 3 2:不符合验证 3: 符合验证规则 public static String isValidBizLicenseNum(String bizLicenseType, String bizLicenseNumber){ String BusinessLicenseResult = "1"; if (bizLicenseType.equals("3")){ if( bizLicenseNumber.length() == 15 && !isSameNumbers(bizLicenseNumber)){ if(isContainLetter(bizLicenseNumber)){ BusinessLicenseResult="2"; }else{ BusinessLicenseResult="3"; } }else if( bizLicenseNumber.length() == 18 && !isSameNumbers(bizLicenseNumber)){ if(isContainInvalidChr(bizLicenseNumber)){ System.out.println("Is Contain Invalid Character Validation"); BusinessLicenseResult="2"; }else{ BusinessLicenseResult="3"; } } else { BusinessLicenseResult = "2"; } } return BusinessLicenseResult; } public static void main(String[] args){ String input = "121111Y111I1111111"; String bizType = "3"; String result = isValidBizLicenseNum(bizType,input); System.out.println(result); } }
转载地址:http://xzrli.baihongyu.com/