写一个正则表达式,识别可被11整除的数字

时间:2016-06-06 16:00:18

标签: regex odk

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

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

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

感激不尽的任何建议

1 个答案:

答案 0 :(得分:4)

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

例如,000165可以11整除00011

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

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

或C#你做这样的事情

bool isValid = 165 % 11 == 0;

免责声明我不熟悉ODK,所以我无法提供合适的样本;我只是猜到要写的最佳语言)