EditText 入力を InputFilter で制限するメモです。
import android.text.InputFilter;
import android.text.Spanned;
/**
* 英数字フィルタ
*/
public final class AlphaNumericFilter implements InputFilter{
@Override
public CharSequence filter(CharSequence source,int start,int end,Spanned dest,int dstart,int dend){
if (source.toString().matches("^[a-zA-Z0-9]+$")){
return source;
}
return "";
}
}
--------------------------------------------------------
import android.text.InputFilter;
import android.text.Spanned;
/**
* 英数字+記号文字 ( ) ' " - + , . ; : ? ! @ / フィルタ
*/
public class AlphaNumericSignFilter implements InputFilter{
@Override
public CharSequence filter(CharSequence source,int start,int end,Spanned dest,int dstart,int dend){
if (source.toString().matches("^[a-zA-Z0-9\\(\\)'\"\\-\\+\\*,\\.\\?\\!@/]+$")){
return source;
}
return "";
}
}
--------------------------------------------------------
EditText passwd = (EditText)findViewById(R.id.editText);
passwd.setFilters(new InputFilter[]{ new AlphaNumericSignFilter() });