我的应用程序中有一个EditText
我需要检查文本是否像
## - ## - ##
“#”可以是2个字母组的字母或数字, 我怎么能这样做?
答案 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) {
}
}