如何验证android中的特殊字符编辑文本?

时间:2015-10-22 06:30:12

标签: java android validation

关于这个主题有很多问题和答案,但我的问题是我在我的应用程序中编辑了文本,我需要输入一个名称,所以我需要验证我的编辑文本,以避免空格< / strong>和特殊字符作为唯一的名称,编辑文字也不能为空。如果没有textwatcher,我该怎么做呢。

4 个答案:

答案 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;
            }

适合你