如何对有数字和字母的NRIC号码进行输入验证? NRIC编号的例子:S9738275G,S8937231H,S7402343B ic =输入('输入NRIC编号:')
答案 0 :(得分:1)
对于您的用例,这应该足够了:
>>> a = 'A12345678B'
>>> if a[0].isalpha() and a[-1].isalpha() and a[1:-1].isdigit(): print True
...
True
>>> a = 'A12345678'
>>> if a[0].isalpha() and a[-1].isalpha() and a[1:-1].isdigit(): print True
...
>>>
[0]第一个字符,[ - 1]最后一个字符,[1:-1]第二个字符,但最后一个字符
编辑:看看PM 2Ring的评论,NRIC编号有一个特定的结构和创建校验位/字符的具体方法,所以我会按照提供的链接中给出的代码。假设您的身份证号码明显相同,因为您没有说明它是什么 有趣的是:“用于计算NRIC校验和的算法不公开”维基百科
答案 1 :(得分:0)
这可以通过许多不同的方式完成。根据应用程序的规模,您可能需要更简单或更复杂的东西。
如果你想要坚实的东西,你可以使用Pygood这样的库。
如果您正在寻找中间的内容,也可以使用正则表达式,请参阅此处an example。
如果您想让它尽可能简单,您可以进行简单的验证,如下所示:
str = "B123"
if str[0].isalpha() and not str[1:].isalpha():
# is valid
答案 2 :(得分:0)
试试这个
string = 'S9738275G';
if string.isalnum():
print('It\'s alphanumeric string')
else:
print('It\'s not an alphanumeric string')