密码输入框限定英文字符和数字输入
通常情况下,密码是不允许使用中文的,一般是用数字或者英文字符作为密码。
- 如果只是简单的限定为数字的话,可以使用一下属性:
android:inputType="numberPassword"
- 如果要求只能输入数字或者英文字母的话,可以使用digits属性手动指定只能输入的字符:
android:digits="@string/password_limit"
...
0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM
digits属性可以限制输入的字符,但是不能限制弹出的软键盘类型。EditText提供了一个android:inputType属性来设置输入框的类型,其中几个类型如下:
| inputType属性值 | 含义 |
|---|---|
| number | 用来输入数字 |
| textCapCharacters | 输入的全部字母大写 |
| textCapWords | 输入的每个单词首字母大写 |
| textCapSentences | 输入的每个句子首字母大写 |
| textPassword | 用来输入密码,所有输入的字符都会变成星号* |
| numberPassword | 用来输入密码,只能输入数字,所有输入的字符都会变成星号 |
| textVisiblePassword | 用来输入密码,输入的字符原样显示 |
| textEmailAddress | 用来输入Email地址 |
当inputType属性设置为number或者numberPassword时,输入法开启时会自动切换到数字键盘;当inputType属性设置为以上其他类型时,输入法会自动切换到英文键盘。