-2

对于我正在做的一项研究,每个人都被分配了一个唯一的编号。所有唯一数字都可以被 11 整除(这样做是因为它使连续数字彼此完全不同)。

理想情况下,我想要一个正则表达式,我可以使用它来检查在 study_id 字段中输入的数字是否是可接受的值 - 例如可被 11 整除。我将有前导零到最多 5 位数字所以:

  • 00011 - 可接受
  • 00012 - 不可接受
  • 13211 - 可接受
  • 13221 - 不可接受

任何建议都感激不尽

4

1 回答 1

4

这是不可能的,因为可被 整除的数字之间没有文本相似性11。正则表达式用于文本匹配。

例如可以被原样000165整除。1100011

验证数字的最佳方法是将其除以 11 并查看是否有余数。所以在 Excel 中你会这样做:

=IF(MOD(165, 11) = 0, "VALID", "INVALID")

或者 C# 你会做这样的事情

bool isValid = 165 % 11 == 0;

免责声明我不熟悉 ODK,所以我无法提供合适的示例;我只是猜测了最好的写作语言)

于 2016-06-06T16:07:44.523 回答