之前使用Qt编写Gui程序的时候,可以直接使用正则表达式限制所有输入框,非常方便. 这段时间要做一份课程设计,使用java编写,ui要限制输入,比如只能输入x位数字,输入身份证等. 百度了许多资料,发现了一个 JFormattedTextField 的类可以规范输入. 刚开始试用觉得还不错,后来发现一个严重的问题:如果光标不是从最左边插入的话,那么左边的位置就会被空格占满,影响输入. 其实输入框都会提供一个 setDocument 的方法以规范输入,所以我决定自己写一个类来实现正则表达式. 代码