Android EditText检查是否请求了文本匹配

时间:2013-04-29 08:39:53

标签: java android match editview

我的应用程序中有一个EditText我需要检查文本是否像

一样

## - ## - ##

“#”可以是2个字母组的字母或数字, 我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

您可以使用此regex: -

String regex = "[a-zA-Z0-9]{2}-{1}[a-zA-Z0-9]{2}-{1}[a-zA-Z0-9]{2}";
System.out.println(str.matches(regex));

答案 1 :(得分:0)

您应该转换用户输入的文本并对其进行正则表达式检查。

Here is a tutorial用于Sun的Java中的正则表达式。

要从EditText字段获取文本并将其转换为字符串,请使用以下命令:

EditText editText = (EditText)findViewById(R.id.your_edit_field_id);
String message = editText.getText().toString();

答案 2 :(得分:0)

检查文本时的检查!

EditText etSearch this.etSearch = (EditText) findViewById(R.id.id_edittext);
etSearch.addTextChangedListener(new TextWatchControl());


private class TextWatchControl implements TextWatcher {

        @Override
        public void afterTextChanged(Editable s) {
             String test = etSearch.getText().toString();
            if (test.matches("[0-9]{2}-{1}[0-9]{2}-{1}[0-9]{2}""))
                 //true
            else
                 //false
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
        }


    }