Skip to content

Commit 28ad0f7

Browse files
authored
[itn] fix idcard number ends with X (#193)
1 parent 4673bba commit 28ad0f7

2 files changed

Lines changed: 3 additions & 1 deletion

File tree

itn/chinese/rules/cardinal.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,9 @@ def build_tagger(self):
134134
cardinal |= (number + dot + digits.plus)
135135
# cardinal string like 110 or 12306 or 13125617878, used in phone,
136136
# 340621199806051223, used in ID card
137+
idcard_last_char = digits | 'X' | 'x'
137138
cardinal |= (digits**3 | digits**4 | digits**5 | digits**11
138-
| digits**18)
139+
| (digits**17 + idcard_last_char) | digits**18)
139140

140141
# 4. 特殊格式的数字 + 标准数字
141142
# cardinal string like 23

itn/chinese/test/data/cardinal.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
十七八万 => 17-8万
1313
六十三四万 => 63-4万
1414
我的身份证号是三四零二零三一九三七零幺零幺零五幺七 => 我的身份证号是340203193701010517
15+
我的身份证号是三四零二零三一九三七零幺零幺零五幺X => 我的身份证号是34020319370101051X
1516
给一三三四五三一二二二一打电话 => 给13345312221打电话
1617
给一三三四五三一二二二一拨电话 => 给13345312221拨电话
1718
一二三四 => 1234

0 commit comments

Comments
 (0)