我有一个需要用户输入的edittext,我有一个正则表达式以允许a-z A-Z 0-9 @ -_我想防止用户键入除此正则表达式之外的任何其他字符。现在,如果用户输入除此正则表达式之外的字符,则我的代码可以正常工作,edittext显示错误,但我希望该用户不能键入除此正则表达式以外的其他字符。
这是我检查正则表达式的代码。
editTextUsername.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
ims = imm.getCurrentInputMethodSubtype();
String localeKeyboard = ims.getLocale();
if(localeKeyboard.equalsIgnoreCase(LocaleManager.LANGUAGE_ARABIC)){
editTextUsername.setError(null);
}
else{
if(UtilHelper.isValidNameSubject(editTextUsername.getText().toString())){
editTextUsername.setError(null);
}
else{
editTextUsername.setError(getString(R.string.txt_invalid_name));
}
}
}
});
这是我的正则表达式,
"^[a-zA-Z0-9ء-ي@_ -]*$"
答案 0 :(得分:0)
在您的xml中添加android:digits
,将符号而不是abcd
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:digits="abcd" />
答案 1 :(得分:0)
您可以在{
...
computed:{
...mapGetters({
queueProducts : 'queueProducts'
})
}
...
}
TextWatcher