android 禁止输入特殊字符,主要是通过正则表达式来限制输入:
1.实例:
/**
* @prama: str 要判断是否包含特殊字符的目标字符串
*/
private void compileExChar(String str){
String limitEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern pattern = Pattern.compile(limitEx);
Matcher m = pattern.matcher(str);
if( m.find()){
Toast.makeText(InputActivity.this, "不允许输入特殊符号!", Toast.LENGTH_LONG).show();
}
}
2.使用的关键地方
1)设置指定范围的限制输入字符范围,可以根据需要修改。
String limitEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
2)使用正则表达式,过滤指定限制输入字符
Pattern pattern = Pattern.compile(limitEx);
Matcher m = pattern.matcher(str);
3) 通过Matcher.find()方法返回值来判断是否包含在指定范围内的字符,true表示有包含,false表示没有。
if( m.find()){
Toast.makeText(InputActivity.this, "姓名不允许输入特殊符号!", Toast.LENGTH_LONG).show();
}