public static boolean isLanguage(String s) { // language = 2*3ALPHA ; shortest ISO 639 code // ["-" extlang] ; sometimes followed by // ; extended language subtags // / 4ALPHA ; or reserved for future use // / 5*8ALPHA ; or registered language subtag int len = s.length(); return (len >= 2) && (len <= 8) && LocaleUtils.isAlphaString(s); }
public static boolean isExtensionSingleton(String s) { // singleton = DIGIT ; 0 - 9 // / %x41-57 ; A - W // / %x59-5A ; Y - Z // / %x61-77 ; a - w // / %x79-7A ; y - z return (s.length() == 1) && LocaleUtils.isAlphaString(s) && !LocaleUtils.caseIgnoreMatch(PRIVATEUSE, s); }
public static boolean isRegion(String s) { // region = 2ALPHA ; ISO 3166-1 code // / 3DIGIT ; UN M.49 code return ((s.length() == 2) && LocaleUtils.isAlphaString(s)) || ((s.length() == 3) && LocaleUtils.isNumericString(s)); }
public static boolean isScript(String s) { // script = 4ALPHA ; ISO 15924 code return (s.length() == 4) && LocaleUtils.isAlphaString(s); }
public static boolean isExtlang(String s) { // extlang = 3ALPHA ; selected ISO 639 codes // *2("-" 3ALPHA) ; permanently reserved return (s.length() == 3) && LocaleUtils.isAlphaString(s); }