I want to validate some numbers with Regular expressions in flutter.
The Regular expression looks like this: RegExp(r"(09)(1[0-9]|3[0-9]|2[0-2])([0-9]{7})")
and it works fine for numbers like 0123456789
but if user enter this kind of number ١
, it is not working.
There are also other numbers like: ٠١٢٣٤٥٦٧٨٩
that can be entered.
This is where I use the validation:
TextFormField(
formKey: formKey,
validator: (String? val) {
if (val != null && RegExp(r"1").hasMatch(val)) {
return null;
}
return "Not Valid";
},
)
I've also tried this RegExp(r"\u06f1")
but it is not working.
How can I validate this kind of numbers?
Here is a list of all Unicode V15 Numeric Digits in the Basic Plane ( 0x0 - 0xffff ).
The columns are the Code Point ( in \uDDDD hex format ). the Character and the Unicode Name.
There are 10 items per block. Each block represents a different Language..
You can construct each regex with its corresponding language code points.
Then each regex can be joined with an alternation, or used separately. This guarantees each validation will meet the range you specify in each respective language.
I recommend you put these into a 2 dimensional array. [#of languages,10 digits]
This way you can programmatically construct each regex for any language, any numeric range / validation requirements you have.
This is done simply by picking the language index, then digit index (0-9) where the code point value is.
You could even make a template reader that substitutes the code point where needed:
Template = ({0}{9})({1}[{0}-{9}]|{3}[{0}-{9}]|{2}[{0}-{2}])([{0}-{9}]\{7\})
where any escaped braces are ignored. Capture the number (which is really the digit index)
(?<!\\){(\d)(?!\\)}
replace with the lookup code point value for a particular language.
Restoring escaped braces to non-escaped ones takes a little bit more.
\u0030 0 DIGIT ZERO
\u0031 1 DIGIT ONE
\u0032 2 DIGIT TWO
\u0033 3 DIGIT THREE
\u0034 4 DIGIT FOUR
\u0035 5 DIGIT FIVE
\u0036 6 DIGIT SIX
\u0037 7 DIGIT SEVEN
\u0038 8 DIGIT EIGHT
\u0039 9 DIGIT NINE
\u0660 ٠ ARABIC-INDIC DIGIT ZERO
\u0661 ١ ARABIC-INDIC DIGIT ONE
\u0662 ٢ ARABIC-INDIC DIGIT TWO
\u0663 ٣ ARABIC-INDIC DIGIT THREE
\u0664 ٤ ARABIC-INDIC DIGIT FOUR
\u0665 ٥ ARABIC-INDIC DIGIT FIVE
\u0666 ٦ ARABIC-INDIC DIGIT SIX
\u0667 ٧ ARABIC-INDIC DIGIT SEVEN
\u0668 ٨ ARABIC-INDIC DIGIT EIGHT
\u0669 ٩ ARABIC-INDIC DIGIT NINE
\u06F0 ۰ EXTENDED ARABIC-INDIC DIGIT ZERO
\u06F1 ۱ EXTENDED ARABIC-INDIC DIGIT ONE
\u06F2 ۲ EXTENDED ARABIC-INDIC DIGIT TWO
\u06F3 ۳ EXTENDED ARABIC-INDIC DIGIT THREE
\u06F4 ۴ EXTENDED ARABIC-INDIC DIGIT FOUR
\u06F5 ۵ EXTENDED ARABIC-INDIC DIGIT FIVE
\u06F6 ۶ EXTENDED ARABIC-INDIC DIGIT SIX
\u06F7 ۷ EXTENDED ARABIC-INDIC DIGIT SEVEN
\u06F8 ۸ EXTENDED ARABIC-INDIC DIGIT EIGHT
\u06F9 ۹ EXTENDED ARABIC-INDIC DIGIT NINE
\u07C0 ߀ NKO DIGIT ZERO
\u07C1 ߁ NKO DIGIT ONE
\u07C2 ߂ NKO DIGIT TWO
\u07C3 ߃ NKO DIGIT THREE
\u07C4 ߄ NKO DIGIT FOUR
\u07C5 ߅ NKO DIGIT FIVE
\u07C6 ߆ NKO DIGIT SIX
\u07C7 ߇ NKO DIGIT SEVEN
\u07C8 ߈ NKO DIGIT EIGHT
\u07C9 ߉ NKO DIGIT NINE
\u0966 ० DEVANAGARI DIGIT ZERO
\u0967 १ DEVANAGARI DIGIT ONE
\u0968 २ DEVANAGARI DIGIT TWO
\u0969 ३ DEVANAGARI DIGIT THREE
\u096A ४ DEVANAGARI DIGIT FOUR
\u096B ५ DEVANAGARI DIGIT FIVE
\u096C ६ DEVANAGARI DIGIT SIX
\u096D ७ DEVANAGARI DIGIT SEVEN
\u096E ८ DEVANAGARI DIGIT EIGHT
\u096F ९ DEVANAGARI DIGIT NINE
\u09E6 ০ BENGALI DIGIT ZERO
\u09E7 ১ BENGALI DIGIT ONE
\u09E8 ২ BENGALI DIGIT TWO
\u09E9 ৩ BENGALI DIGIT THREE
\u09EA ৪ BENGALI DIGIT FOUR
\u09EB ৫ BENGALI DIGIT FIVE
\u09EC ৬ BENGALI DIGIT SIX
\u09ED ৭ BENGALI DIGIT SEVEN
\u09EE ৮ BENGALI DIGIT EIGHT
\u09EF ৯ BENGALI DIGIT NINE
\u0A66 ੦ GURMUKHI DIGIT ZERO
\u0A67 ੧ GURMUKHI DIGIT ONE
\u0A68 ੨ GURMUKHI DIGIT TWO
\u0A69 ੩ GURMUKHI DIGIT THREE
\u0A6A ੪ GURMUKHI DIGIT FOUR
\u0A6B ੫ GURMUKHI DIGIT FIVE
\u0A6C ੬ GURMUKHI DIGIT SIX
\u0A6D ੭ GURMUKHI DIGIT SEVEN
\u0A6E ੮ GURMUKHI DIGIT EIGHT
\u0A6F ੯ GURMUKHI DIGIT NINE
\u0AE6 ૦ GUJARATI DIGIT ZERO
\u0AE7 ૧ GUJARATI DIGIT ONE
\u0AE8 ૨ GUJARATI DIGIT TWO
\u0AE9 ૩ GUJARATI DIGIT THREE
\u0AEA ૪ GUJARATI DIGIT FOUR
\u0AEB ૫ GUJARATI DIGIT FIVE
\u0AEC ૬ GUJARATI DIGIT SIX
\u0AED ૭ GUJARATI DIGIT SEVEN
\u0AEE ૮ GUJARATI DIGIT EIGHT
\u0AEF ૯ GUJARATI DIGIT NINE
\u0B66 ୦ ORIYA DIGIT ZERO
\u0B67 ୧ ORIYA DIGIT ONE
\u0B68 ୨ ORIYA DIGIT TWO
\u0B69 ୩ ORIYA DIGIT THREE
\u0B6A ୪ ORIYA DIGIT FOUR
\u0B6B ୫ ORIYA DIGIT FIVE
\u0B6C ୬ ORIYA DIGIT SIX
\u0B6D ୭ ORIYA DIGIT SEVEN
\u0B6E ୮ ORIYA DIGIT EIGHT
\u0B6F ୯ ORIYA DIGIT NINE
\u0BE6 ௦ TAMIL DIGIT ZERO
\u0BE7 ௧ TAMIL DIGIT ONE
\u0BE8 ௨ TAMIL DIGIT TWO
\u0BE9 ௩ TAMIL DIGIT THREE
\u0BEA ௪ TAMIL DIGIT FOUR
\u0BEB ௫ TAMIL DIGIT FIVE
\u0BEC ௬ TAMIL DIGIT SIX
\u0BED ௭ TAMIL DIGIT SEVEN
\u0BEE ௮ TAMIL DIGIT EIGHT
\u0BEF ௯ TAMIL DIGIT NINE
\u0C66 ౦ TELUGU DIGIT ZERO
\u0C67 ౧ TELUGU DIGIT ONE
\u0C68 ౨ TELUGU DIGIT TWO
\u0C69 ౩ TELUGU DIGIT THREE
\u0C6A ౪ TELUGU DIGIT FOUR
\u0C6B ౫ TELUGU DIGIT FIVE
\u0C6C ౬ TELUGU DIGIT SIX
\u0C6D ౭ TELUGU DIGIT SEVEN
\u0C6E ౮ TELUGU DIGIT EIGHT
\u0C6F ౯ TELUGU DIGIT NINE
\u0CE6 ೦ KANNADA DIGIT ZERO
\u0CE7 ೧ KANNADA DIGIT ONE
\u0CE8 ೨ KANNADA DIGIT TWO
\u0CE9 ೩ KANNADA DIGIT THREE
\u0CEA ೪ KANNADA DIGIT FOUR
\u0CEB ೫ KANNADA DIGIT FIVE
\u0CEC ೬ KANNADA DIGIT SIX
\u0CED ೭ KANNADA DIGIT SEVEN
\u0CEE ೮ KANNADA DIGIT EIGHT
\u0CEF ೯ KANNADA DIGIT NINE
\u0D66 ൦ MALAYALAM DIGIT ZERO
\u0D67 ൧ MALAYALAM DIGIT ONE
\u0D68 ൨ MALAYALAM DIGIT TWO
\u0D69 ൩ MALAYALAM DIGIT THREE
\u0D6A ൪ MALAYALAM DIGIT FOUR
\u0D6B ൫ MALAYALAM DIGIT FIVE
\u0D6C ൬ MALAYALAM DIGIT SIX
\u0D6D ൭ MALAYALAM DIGIT SEVEN
\u0D6E ൮ MALAYALAM DIGIT EIGHT
\u0D6F ൯ MALAYALAM DIGIT NINE
\u0DE6 ෦ SINHALA LITH DIGIT ZERO
\u0DE7 ෧ SINHALA LITH DIGIT ONE
\u0DE8 ෨ SINHALA LITH DIGIT TWO
\u0DE9 ෩ SINHALA LITH DIGIT THREE
\u0DEA ෪ SINHALA LITH DIGIT FOUR
\u0DEB ෫ SINHALA LITH DIGIT FIVE
\u0DEC ෬ SINHALA LITH DIGIT SIX
\u0DED ෭ SINHALA LITH DIGIT SEVEN
\u0DEE ෮ SINHALA LITH DIGIT EIGHT
\u0DEF ෯ SINHALA LITH DIGIT NINE
\u0E50 ๐ THAI DIGIT ZERO
\u0E51 ๑ THAI DIGIT ONE
\u0E52 ๒ THAI DIGIT TWO
\u0E53 ๓ THAI DIGIT THREE
\u0E54 ๔ THAI DIGIT FOUR
\u0E55 ๕ THAI DIGIT FIVE
\u0E56 ๖ THAI DIGIT SIX
\u0E57 ๗ THAI DIGIT SEVEN
\u0E58 ๘ THAI DIGIT EIGHT
\u0E59 ๙ THAI DIGIT NINE
\u0ED0 ໐ LAO DIGIT ZERO
\u0ED1 ໑ LAO DIGIT ONE
\u0ED2 ໒ LAO DIGIT TWO
\u0ED3 ໓ LAO DIGIT THREE
\u0ED4 ໔ LAO DIGIT FOUR
\u0ED5 ໕ LAO DIGIT FIVE
\u0ED6 ໖ LAO DIGIT SIX
\u0ED7 ໗ LAO DIGIT SEVEN
\u0ED8 ໘ LAO DIGIT EIGHT
\u0ED9 ໙ LAO DIGIT NINE
\u0F20 ༠ TIBETAN DIGIT ZERO
\u0F21 ༡ TIBETAN DIGIT ONE
\u0F22 ༢ TIBETAN DIGIT TWO
\u0F23 ༣ TIBETAN DIGIT THREE
\u0F24 ༤ TIBETAN DIGIT FOUR
\u0F25 ༥ TIBETAN DIGIT FIVE
\u0F26 ༦ TIBETAN DIGIT SIX
\u0F27 ༧ TIBETAN DIGIT SEVEN
\u0F28 ༨ TIBETAN DIGIT EIGHT
\u0F29 ༩ TIBETAN DIGIT NINE
\u1040 ၀ MYANMAR DIGIT ZERO
\u1041 ၁ MYANMAR DIGIT ONE
\u1042 ၂ MYANMAR DIGIT TWO
\u1043 ၃ MYANMAR DIGIT THREE
\u1044 ၄ MYANMAR DIGIT FOUR
\u1045 ၅ MYANMAR DIGIT FIVE
\u1046 ၆ MYANMAR DIGIT SIX
\u1047 ၇ MYANMAR DIGIT SEVEN
\u1048 ၈ MYANMAR DIGIT EIGHT
\u1049 ၉ MYANMAR DIGIT NINE
\u1090 ႐ MYANMAR SHAN DIGIT ZERO
\u1091 ႑ MYANMAR SHAN DIGIT ONE
\u1092 ႒ MYANMAR SHAN DIGIT TWO
\u1093 ႓ MYANMAR SHAN DIGIT THREE
\u1094 ႔ MYANMAR SHAN DIGIT FOUR
\u1095 ႕ MYANMAR SHAN DIGIT FIVE
\u1096 ႖ MYANMAR SHAN DIGIT SIX
\u1097 ႗ MYANMAR SHAN DIGIT SEVEN
\u1098 ႘ MYANMAR SHAN DIGIT EIGHT
\u1099 ႙ MYANMAR SHAN DIGIT NINE
\u17E0 ០ KHMER DIGIT ZERO
\u17E1 ១ KHMER DIGIT ONE
\u17E2 ២ KHMER DIGIT TWO
\u17E3 ៣ KHMER DIGIT THREE
\u17E4 ៤ KHMER DIGIT FOUR
\u17E5 ៥ KHMER DIGIT FIVE
\u17E6 ៦ KHMER DIGIT SIX
\u17E7 ៧ KHMER DIGIT SEVEN
\u17E8 ៨ KHMER DIGIT EIGHT
\u17E9 ៩ KHMER DIGIT NINE
\u1810 ᠐ MONGOLIAN DIGIT ZERO
\u1811 ᠑ MONGOLIAN DIGIT ONE
\u1812 ᠒ MONGOLIAN DIGIT TWO
\u1813 ᠓ MONGOLIAN DIGIT THREE
\u1814 ᠔ MONGOLIAN DIGIT FOUR
\u1815 ᠕ MONGOLIAN DIGIT FIVE
\u1816 ᠖ MONGOLIAN DIGIT SIX
\u1817 ᠗ MONGOLIAN DIGIT SEVEN
\u1818 ᠘ MONGOLIAN DIGIT EIGHT
\u1819 ᠙ MONGOLIAN DIGIT NINE
\u1946 ᥆ LIMBU DIGIT ZERO
\u1947 ᥇ LIMBU DIGIT ONE
\u1948 ᥈ LIMBU DIGIT TWO
\u1949 ᥉ LIMBU DIGIT THREE
\u194A ᥊ LIMBU DIGIT FOUR
\u194B ᥋ LIMBU DIGIT FIVE
\u194C ᥌ LIMBU DIGIT SIX
\u194D ᥍ LIMBU DIGIT SEVEN
\u194E ᥎ LIMBU DIGIT EIGHT
\u194F ᥏ LIMBU DIGIT NINE
\u19D0 ᧐ NEW TAI LUE DIGIT ZERO
\u19D1 ᧑ NEW TAI LUE DIGIT ONE
\u19D2 ᧒ NEW TAI LUE DIGIT TWO
\u19D3 ᧓ NEW TAI LUE DIGIT THREE
\u19D4 ᧔ NEW TAI LUE DIGIT FOUR
\u19D5 ᧕ NEW TAI LUE DIGIT FIVE
\u19D6 ᧖ NEW TAI LUE DIGIT SIX
\u19D7 ᧗ NEW TAI LUE DIGIT SEVEN
\u19D8 ᧘ NEW TAI LUE DIGIT EIGHT
\u19D9 ᧙ NEW TAI LUE DIGIT NINE
\u1A80 ᪀ TAI THAM HORA DIGIT ZERO
\u1A81 ᪁ TAI THAM HORA DIGIT ONE
\u1A82 ᪂ TAI THAM HORA DIGIT TWO
\u1A83 ᪃ TAI THAM HORA DIGIT THREE
\u1A84 ᪄ TAI THAM HORA DIGIT FOUR
\u1A85 ᪅ TAI THAM HORA DIGIT FIVE
\u1A86 ᪆ TAI THAM HORA DIGIT SIX
\u1A87 ᪇ TAI THAM HORA DIGIT SEVEN
\u1A88 ᪈ TAI THAM HORA DIGIT EIGHT
\u1A89 ᪉ TAI THAM HORA DIGIT NINE
\u1A90 ᪐ TAI THAM THAM DIGIT ZERO
\u1A91 ᪑ TAI THAM THAM DIGIT ONE
\u1A92 ᪒ TAI THAM THAM DIGIT TWO
\u1A93 ᪓ TAI THAM THAM DIGIT THREE
\u1A94 ᪔ TAI THAM THAM DIGIT FOUR
\u1A95 ᪕ TAI THAM THAM DIGIT FIVE
\u1A96 ᪖ TAI THAM THAM DIGIT SIX
\u1A97 ᪗ TAI THAM THAM DIGIT SEVEN
\u1A98 ᪘ TAI THAM THAM DIGIT EIGHT
\u1A99 ᪙ TAI THAM THAM DIGIT NINE
\u1B50 ᭐ BALINESE DIGIT ZERO
\u1B51 ᭑ BALINESE DIGIT ONE
\u1B52 ᭒ BALINESE DIGIT TWO
\u1B53 ᭓ BALINESE DIGIT THREE
\u1B54 ᭔ BALINESE DIGIT FOUR
\u1B55 ᭕ BALINESE DIGIT FIVE
\u1B56 ᭖ BALINESE DIGIT SIX
\u1B57 ᭗ BALINESE DIGIT SEVEN
\u1B58 ᭘ BALINESE DIGIT EIGHT
\u1B59 ᭙ BALINESE DIGIT NINE
\u1BB0 ᮰ SUNDANESE DIGIT ZERO
\u1BB1 ᮱ SUNDANESE DIGIT ONE
\u1BB2 ᮲ SUNDANESE DIGIT TWO
\u1BB3 ᮳ SUNDANESE DIGIT THREE
\u1BB4 ᮴ SUNDANESE DIGIT FOUR
\u1BB5 ᮵ SUNDANESE DIGIT FIVE
\u1BB6 ᮶ SUNDANESE DIGIT SIX
\u1BB7 ᮷ SUNDANESE DIGIT SEVEN
\u1BB8 ᮸ SUNDANESE DIGIT EIGHT
\u1BB9 ᮹ SUNDANESE DIGIT NINE
\u1C40 ᱀ LEPCHA DIGIT ZERO
\u1C41 ᱁ LEPCHA DIGIT ONE
\u1C42 ᱂ LEPCHA DIGIT TWO
\u1C43 ᱃ LEPCHA DIGIT THREE
\u1C44 ᱄ LEPCHA DIGIT FOUR
\u1C45 ᱅ LEPCHA DIGIT FIVE
\u1C46 ᱆ LEPCHA DIGIT SIX
\u1C47 ᱇ LEPCHA DIGIT SEVEN
\u1C48 ᱈ LEPCHA DIGIT EIGHT
\u1C49 ᱉ LEPCHA DIGIT NINE
\u1C50 ᱐ OL CHIKI DIGIT ZERO
\u1C51 ᱑ OL CHIKI DIGIT ONE
\u1C52 ᱒ OL CHIKI DIGIT TWO
\u1C53 ᱓ OL CHIKI DIGIT THREE
\u1C54 ᱔ OL CHIKI DIGIT FOUR
\u1C55 ᱕ OL CHIKI DIGIT FIVE
\u1C56 ᱖ OL CHIKI DIGIT SIX
\u1C57 ᱗ OL CHIKI DIGIT SEVEN
\u1C58 ᱘ OL CHIKI DIGIT EIGHT
\u1C59 ᱙ OL CHIKI DIGIT NINE
\uA620 ꘠ VAI DIGIT ZERO
\uA621 ꘡ VAI DIGIT ONE
\uA622 ꘢ VAI DIGIT TWO
\uA623 ꘣ VAI DIGIT THREE
\uA624 ꘤ VAI DIGIT FOUR
\uA625 ꘥ VAI DIGIT FIVE
\uA626 ꘦ VAI DIGIT SIX
\uA627 ꘧ VAI DIGIT SEVEN
\uA628 ꘨ VAI DIGIT EIGHT
\uA629 ꘩ VAI DIGIT NINE
\uA8D0 ꣐ SAURASHTRA DIGIT ZERO
\uA8D1 ꣑ SAURASHTRA DIGIT ONE
\uA8D2 ꣒ SAURASHTRA DIGIT TWO
\uA8D3 ꣓ SAURASHTRA DIGIT THREE
\uA8D4 ꣔ SAURASHTRA DIGIT FOUR
\uA8D5 ꣕ SAURASHTRA DIGIT FIVE
\uA8D6 ꣖ SAURASHTRA DIGIT SIX
\uA8D7 ꣗ SAURASHTRA DIGIT SEVEN
\uA8D8 ꣘ SAURASHTRA DIGIT EIGHT
\uA8D9 ꣙ SAURASHTRA DIGIT NINE
\uA900 ꤀ KAYAH LI DIGIT ZERO
\uA901 ꤁ KAYAH LI DIGIT ONE
\uA902 ꤂ KAYAH LI DIGIT TWO
\uA903 ꤃ KAYAH LI DIGIT THREE
\uA904 ꤄ KAYAH LI DIGIT FOUR
\uA905 ꤅ KAYAH LI DIGIT FIVE
\uA906 ꤆ KAYAH LI DIGIT SIX
\uA907 ꤇ KAYAH LI DIGIT SEVEN
\uA908 ꤈ KAYAH LI DIGIT EIGHT
\uA909 ꤉ KAYAH LI DIGIT NINE
\uA9D0 ꧐ JAVANESE DIGIT ZERO
\uA9D1 ꧑ JAVANESE DIGIT ONE
\uA9D2 ꧒ JAVANESE DIGIT TWO
\uA9D3 ꧓ JAVANESE DIGIT THREE
\uA9D4 ꧔ JAVANESE DIGIT FOUR
\uA9D5 ꧕ JAVANESE DIGIT FIVE
\uA9D6 ꧖ JAVANESE DIGIT SIX
\uA9D7 ꧗ JAVANESE DIGIT SEVEN
\uA9D8 ꧘ JAVANESE DIGIT EIGHT
\uA9D9 ꧙ JAVANESE DIGIT NINE
\uA9F0 ꧰ MYANMAR TAI LAING DIGIT ZERO
\uA9F1 ꧱ MYANMAR TAI LAING DIGIT ONE
\uA9F2 ꧲ MYANMAR TAI LAING DIGIT TWO
\uA9F3 ꧳ MYANMAR TAI LAING DIGIT THREE
\uA9F4 ꧴ MYANMAR TAI LAING DIGIT FOUR
\uA9F5 ꧵ MYANMAR TAI LAING DIGIT FIVE
\uA9F6 ꧶ MYANMAR TAI LAING DIGIT SIX
\uA9F7 ꧷ MYANMAR TAI LAING DIGIT SEVEN
\uA9F8 ꧸ MYANMAR TAI LAING DIGIT EIGHT
\uA9F9 ꧹ MYANMAR TAI LAING DIGIT NINE
\uAA50 ꩐ CHAM DIGIT ZERO
\uAA51 ꩑ CHAM DIGIT ONE
\uAA52 ꩒ CHAM DIGIT TWO
\uAA53 ꩓ CHAM DIGIT THREE
\uAA54 ꩔ CHAM DIGIT FOUR
\uAA55 ꩕ CHAM DIGIT FIVE
\uAA56 ꩖ CHAM DIGIT SIX
\uAA57 ꩗ CHAM DIGIT SEVEN
\uAA58 ꩘ CHAM DIGIT EIGHT
\uAA59 ꩙ CHAM DIGIT NINE
\uABF0 ꯰ MEETEI MAYEK DIGIT ZERO
\uABF1 ꯱ MEETEI MAYEK DIGIT ONE
\uABF2 ꯲ MEETEI MAYEK DIGIT TWO
\uABF3 ꯳ MEETEI MAYEK DIGIT THREE
\uABF4 ꯴ MEETEI MAYEK DIGIT FOUR
\uABF5 ꯵ MEETEI MAYEK DIGIT FIVE
\uABF6 ꯶ MEETEI MAYEK DIGIT SIX
\uABF7 ꯷ MEETEI MAYEK DIGIT SEVEN
\uABF8 ꯸ MEETEI MAYEK DIGIT EIGHT
\uABF9 ꯹ MEETEI MAYEK DIGIT NINE
\uFF10 0 FULLWIDTH DIGIT ZERO
\uFF11 1 FULLWIDTH DIGIT ONE
\uFF12 2 FULLWIDTH DIGIT TWO
\uFF13 3 FULLWIDTH DIGIT THREE
\uFF14 4 FULLWIDTH DIGIT FOUR
\uFF15 5 FULLWIDTH DIGIT FIVE
\uFF16 6 FULLWIDTH DIGIT SIX
\uFF17 7 FULLWIDTH DIGIT SEVEN
\uFF18 8 FULLWIDTH DIGIT EIGHT
\uFF19 9 FULLWIDTH DIGIT NINE