身份证号输入即时验证

除了 keydown 外的 keyup 监控解决方案

利用 keyup 监控键入字符,前17位必须为数字,第18位可以是数字或x,X

问题:
keyup 时木已成舟,无法阻止,若用户输错只能通过重新设置 input 的值,但是会使得光标随改动移至末尾,而不是保留在输入前的中间位置。
解决:
通过设置前保存光标位置,设置后重新restore光标位置,注意 ie 和标准浏览器的差别