对于我正在做的研究,每个人都会被分配一个唯一的号码。 所有唯一的数字都可以除以11(这样做是因为它使序列号彼此完全不同)。
我理想地喜欢正则表达式,我可以用它来检查在study_id字段中输入的数字是否是可接受的值 - 例如可以被11整除。 我将前导零到最多5位数 所以:
感激不尽的任何建议
答案 0 :(得分:4)
这是不可能的,因为11
可以整除的数字之间没有文字相似性。正则表达式用于文本匹配。
例如,000165
可以11
整除00011
。
验证号码的最佳方法是将其除以11并查看是否有余数。所以在Excel中你可以这样做:
=IF(MOD(165, 11) = 0, "VALID", "INVALID")
或C#你做这样的事情
bool isValid = 165 % 11 == 0;
(免责声明我不熟悉ODK,所以我无法提供合适的样本;我只是猜到要写的最佳语言)