我正在开发一个在线表格,其中需要验证用户输入的医疗保险号码。
(我的具体问题涉及澳大利亚医疗保险号码,但我也很高兴得到有关美国医疗保险号码的答案。这个问题是关于一般医疗保险号码的。)
那我应该怎么做呢?
(最好用 Javascript 或正则表达式来回答。)
最佳答案
Jeffrey Kemp(3 月 11 日)提供的正则表达式有助于验证允许的字符,但下面的检查算法应该足以验证数字是否符合 Medicare 的规则。
Medicare 卡号包括:
- 八位数字;
- 校验位(一位);和
- 问题编号(一位数)。
注意:Medicare 卡号的第一位数字应在 2 到 6 范围内。
医保卡号校验位计算
- 计算总和:((数字 1) + (数字 2 * 3) + (数字 3 * 7) + (数字 4 * 9) + (数字 5) + (数字 6 * 3) + (数字 7 * 7) + (数字 8 * 9))
其中第 1 位是医保卡号的最高位,第 8 位是医保卡号的最低位。
示例:对于 Medicare 卡号“2123 45670 1”,数字 1 为 2,数字 8 为 7。
- 将计算出的总和除以 10。
- 校验位是余数。
示例:对于 Medicare 卡号 2123 4567。
- (2) + (1 * 3) + (2 * 7) + (3 * 9) + (4) + (5 * 3) + (6 * 7) + (7 * 9) = 170<
- 170 除以 10,余数为 0。
- 此 Medicare 号码的校验位为 0。
资料来源:“在健康软件系统中使用医疗保健标识符 - 软件一致性要求,版本 1.4”,NEHTA,2011 年 3 月 5 日
关于javascript - 如何验证澳大利亚医疗保险号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3589345/