关于这个主题有很多问题和答案,但我的问题是我在我的应用程序中编辑了文本,我需要输入一个名称,所以我需要验证我的编辑文本,以避免空格< / strong>和特殊字符作为唯一的名称,编辑文字也不能为空。如果没有textwatcher,我该怎么做呢。
答案 0 :(得分:3)
您可以使用简单的正则表达式
public boolean isValidWord(String word) {
return word.matches("[A-Za-z][^.]*");
}
如果返回值为true,那么你的输入没有特殊的char或空格..如果为false,它可能有特殊的char或空格..简单而优雅..
在添加你的名字之前,只需用字符串参数调用方法..
答案 1 :(得分:0)
您可以使用输入过滤器过滤掉特殊字符和空格
edittext.setFilters(new InputFilter[] { new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
String regex = "a-z~@#$%^&*:;<>.,/}{+";
if(!dest.toString().contains(" ")||!dest.toString().matches("[" + regex + "]+")){
return null;
}
}
} });
我希望它可以帮助你......
答案 2 :(得分:0)
android:inputType="textFilter"
添加xml文件
window.navigator.__defineGetter__('userAgent', function () {
return 'This is a newly mocked user Agent';
});
可能会有所帮助
答案 3 :(得分:0)
@Override
public void onClick(View v) {
final String name = nametxt.getText().toString();
if (!isValidName(name)) {
nametxt.setError("Invalid Name");
}
}
private boolean isValidName(String name) {
if (name != null && name.length() > 3) {
return true;
}
return false;
}
适合你