if (value === '' || !/(^\d{17}[\d|x]$)|(^\d{15}$)/.test(value))
                callback(new Error('请输入正确的身份证号'))
              else callback()

通过正则表达式^\d{17}[\d|x]$)|(^\d{15}$),校验18位有无X和15位身份证的情况

14位错误:

15位正确:

18位正确:

17+x正确:

17位错误:

更多推荐