Android editview 设置只能输入数字、字母和汉字
Android editview 设置只能输入数字、字母和汉字
当处理密码、昵称等特殊情况的时候,往往需要对输入内容加以限制。对于单纯的一种输入法限制可以对键盘和editview熟悉进行控制,而对于多种组合的输入法控制,就可以加入正则来判断。
下边的这个正则是汉字、字母、数字组合,但是不能用数字开头
^[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9\u4e00-\u9fa5]*$
不限制输入长度
String pas = "^[a-zA-Z0-9\u4e00-\u9fa5]+$";
一个汉字算两个字符的方法:
/**
* 计算位数
* @param str
* @return
*/
public static int calculatePlaces(String str)
{
int m = 0;
char arr[] = str.toCharArray();
for(int i=0;i<arr.length;i++)
{
char c = arr[i];
if((c >= 0x0391 && c <= 0xFFE5)) //中文字符
{
m = m + 2;
}
else if((c>=0x0000 && c<=0x00FF)) //英文字符
{
m = m + 1;
}
}
return m;
}
/**判断输入的合理性*/
private boolean checkPassword(String value) {
if (TextUtils.isEmpty(value)) {
ToastUtils.showToast(this, "请输入昵称");
//CustomProgressDialogUtils.dismissProgressDialog();
return false;
}
String pas = "^[a-zA-Z0-9\u4e00-\u9fa5]{4,16}";
Pattern p = Pattern.compile(pas);
Matcher m = p.matcher(value);
if (!m.matches()) {
ToastUtils.showToast(this, "昵称要求4-16位数字、字母或汉字的组合");
// CustomProgressDialogUtils.dismissProgressDialog();
return false;
}
return true;
}
Android editview 设置只能输入数字、字母和汉字的更多相关文章
- iOS TextField输入限制(限制长度、只能输入数字,只能输入数字字母……)
项目中各个地方都会用到TextField,textField的输入也会有各种需求,各种限制,每次用到的时候要重写一遍这些限制,导致各种垃圾代码,各种重复,有一天,我终于看不下去了,于是把textFie ...
- input只能输入数字字母
<input type='text' onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');" /> 只能输入数字 ...
- android的edittext设置输入限制,只能输入数字
EditText的属性里面已经封装好了相关的设置,上一篇文章里面也提到了,不熟悉的可以去查看上一篇EditText属性大全,这里着重讲输入限制的属性: android:digits="123 ...
- [Android教程]EditText怎样限制用户的输入?数字/字母/邮箱
有输入必有验证.为了防止用户随便输入确保提交数据的合法性,程序不得不在文本输入框(EditText)中增加限制或验证. 关于输入类型有数字.字母.邮箱.电话等形式,这些具体得根据业务来.那么Andro ...
- JS验证只能输入数字,数字和字母等的正则表达式
JS判断只能是数字和小数点 0.不能输入中文1)<input onpaste="return false;" type="text" name=" ...
- js只能输入数字、汉字、字母等正则匹配
只能输英文:<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')"> 只 ...
- JS只能输入数字,数字和字母等的正则表达式
1.只能输入英文 <input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')"> ...
- C#设置textBox只能输入数字(正数,负数,小数)简单实现
/* *设置textBox只能输入数字(正数,负数,小数) */ public static bool NumberDotTextbox_KeyPress(object sender, KeyPres ...
- C# 使用js正则表达式,让文本框只能输入数字和字母,最大长度5位
使用js正则表达式,让文本框只能输入数字和字母,最大长度5位,只需要加个onkeyup事件,即可简单实现 <asp:TextBox ID="txtBegin" runat=& ...
随机推荐
- WIN32API 自定义颜色下拉列表控件
效果如下: 原创-转载请著名来源 1,新建颜色属性类“CNColor”: class CNColor { public: COLORREF m_crColor; //颜色RGB值 WCHAR m_cC ...
- REMOVE ONCLICK DELAY ON WEBKIT FOR IPHONE
Developing on the webkit for iPhone I encountered a curious delay ononClick events. It seems that th ...
- 8086cpu-intel汇编指令简介
jcxz 有条件跳转指令,cx为跳转条件.如果(cx)==0则跳转到指定标号处.跳转地址在机器码中已相对位置(-128~127)给出. 相当于 if((cx)==0) ...
- NSDate 刚刚、几分钟、几小时
- (NSString *)minutesAgo { NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; fmt.dateFormat = @ ...
- android中string.xml中%1$s、%1$d等的用法
今天在研究前辈写的代码的时候,突然发现string里面出现了<stringname="item_recent_photo">最近拍摄%1$s</string> ...
- 无法更新 EntitySet“SoreInfo_Table”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操作的 <InsertFunction> 元素。
无法更新 EntitySet"SoreInfo_Table",因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> ...
- C# Using 用法
using 语句允许程序员指定使用资源的对象应当何时释放资源.为 using 语句提供的对象必须实现 IDisposable 接口.此接口提供了 Dispose 方法,该方法将释放此对象的资源. 一起 ...
- java中的static使用--静态变量、静态方法
Java 中的 static 使用之静态变量 大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 s ...
- Android学习---ListView和Inflater的使用,将一个布局文件转化为一个对象
本文将介绍ListView和Inflater的使用,将接上一篇文章内容. 一.什么是ListView? 在android开发中ListView是比较常用的控件,ListView 控件可使用四种不同视图 ...
- JAVA学习笔记(二):eclipse智能提示(转)
存盘 Ctrl+s(肯定知道)注释代码 Ctrl+/取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了)代码辅助 Alt+/快速修复 Ctrl+1代码格式化 Ctrl+Shift+f整 ...