[英]Regex for validating EditText in Android
我正在嘗試驗證TextView,使其只能包含字母和。
到目前為止,我所做的是它不允許有空格,並且不能將其留為空白,因此如何繼續進行,不允許使用數字和特殊字符。
if (PatientInitials.getText().toString().equals(""))
{
final Toast toast = Toast.makeText(getApplicationContext(), "Please enter the patient initials.", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 3000);
}
else if (PatientInitials.getText().toString().matches(".*([ \t]).*"))
{
final Toast toast = Toast.makeText(getApplicationContext(), "Patient initials cannot contain spaces.", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 3000);
}
//Below doesn't work
else if (PatientInitials.getText().toString().matches("/^[A-z]+$/"))
{
final Toast toast = Toast.makeText(getApplicationContext(), "Patient initials cannot contain numbers and special characters.", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 3000);
嘗試這個 :
EditText state = (EditText) findViewById(R.id.txtState);
Pattern ps = Pattern.compile("^[a-zA-Z ]+$");
Matcher ms = ps.matcher(state.getText().toString());
boolean bs = ms.matches();
if (bs == false) {
if (ErrorMessage.contains("invalid"))
ErrorMessage = ErrorMessage + "state,";
else
ErrorMessage = ErrorMessage + "invalid state,";
}
希望這可以幫助。
您是否看過android:digits搶先僅將某些字符列入白名單?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.