编写一个正则表达式来识别能被 11 整除的数字
Write a Regular Expression which identifies numbers divisible by 11
在我正在进行的一项研究中,每个人都被分配了一个唯一的编号。
所有唯一数字都被 11 整除(这样做是因为它使序列号彼此完全不同)。
理想情况下,我想要一个正则表达式,我可以用它来检查 study_id 字段中输入的数字是否是可接受的值 - 例如可以被 11 整除。
我的前导零最多为 5 位
所以:
- 00011 - 可接受
- 00012 - 不可接受
- 13211 - 可接受
- 13221 - 不可接受
非常感谢收到的任何建议
这是不可能的,因为可被 11
整除的数字之间没有文本相似性。正则表达式用于文本匹配。
例如 000165
和 00011
一样可以被 11
整除。
验证数字的最佳方法是将其除以 11,看是否有余数。所以在 Excel 你会这样做:
=IF(MOD(165, 11) = 0, "VALID", "INVALID")
或者 C# 你会做这样的事情
bool isValid = 165 % 11 == 0;
(免责声明我对 ODK 不熟悉,所以无法提供合适的示例;我只是猜测了最好的编写语言)
在我正在进行的一项研究中,每个人都被分配了一个唯一的编号。 所有唯一数字都被 11 整除(这样做是因为它使序列号彼此完全不同)。
理想情况下,我想要一个正则表达式,我可以用它来检查 study_id 字段中输入的数字是否是可接受的值 - 例如可以被 11 整除。 我的前导零最多为 5 位 所以:
- 00011 - 可接受
- 00012 - 不可接受
- 13211 - 可接受
- 13221 - 不可接受
非常感谢收到的任何建议
这是不可能的,因为可被 11
整除的数字之间没有文本相似性。正则表达式用于文本匹配。
例如 000165
和 00011
一样可以被 11
整除。
验证数字的最佳方法是将其除以 11,看是否有余数。所以在 Excel 你会这样做:
=IF(MOD(165, 11) = 0, "VALID", "INVALID")
或者 C# 你会做这样的事情
bool isValid = 165 % 11 == 0;
(免责声明我对 ODK 不熟悉,所以无法提供合适的示例;我只是猜测了最好的编写语言)