bool b = Regex.IsMatch(msg, @"^\d{17}[\d|X]|\d{15}$");
这种是对的 验证没问题
但是我把或|两侧换个位置就不对了
bool b = Regex.IsMatch(msg, @"\d{15}|^\d{17}[\d|X]$");
就这样的,这个就不对了,为什么
我拿21010119950101021A测试的
C#正则表达式的问题,身份证验证
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- Nolanamy 2017-08-17 07:40关注
或的优先级特别低,所以只要前面出现15位数字就true了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报