❶ android 怎么让edittext密码正则表达式
密码还要正则表达式。。。这是什么需求。。。。
如果你说的是:控制只能输入数字、大小写、_等 可以在EditText中添加属性android:digits来进行控制(输入用户可以输入的字符)
回答你的问题:只能在代码中进行判断,比如用户点击确定的时候进行正则表达式的判断,如果失败则提示用户密码不合法
❷ android digits怎么用
如何限制只能输入指定的字符
设置 android:digits 属性即可
例如:
android:digits = "abcdef"
有两种方法可以实现:
方法一:
EditText mEditText = (EditText)findViewById(R.id.MyEditText);
String digits = "abcdef";
mEditText.setKeyListener(DigitsKeyListener.getInstance(digits));
方法二:
EditText mEditText = (EditText)findViewById(R.id.MyEditText);
InputFilter[] filters = new InputFilter[1];
filters[0] = new MyInputFilter("abcdef");
mEditText.setFilters(filters);
public class MyInputFilter extends LoginFilter.UsernameFilterGeneric {
private String mAllowedDigits;
public PopInputFilter( String digits ) {
mAllowedDigits = digits;
}
@Override
public boolean isAllowed(char c) {
if (mAllowedDigits.indexOf(c) != -1) {
return true;
}
return false;
希望可以帮到你!
❸ android怎么监听控制让EditText只能输入中文汉字
小数请使用android:numeric="decimal" 属性 然后gettext后进行类型转换 其实还有很多办法解决。 可以添加TextChangedListener 监听器 进行字符判断。 android:digits 属性 输入规则 例如:android:digits=“0123456789” 表示只能输入数字。 android:digits=“0123456789.” 表示可以输入数字和小数点
❹ android digits怎么用
比如,你在EditText的xml中设置:
android:digits="abcdefghijklmnopqrstuvwxyz"
那就是表示,这个EditText只能接收“abcdefghijklmnopqrstuvwxyz”中任意字符的输入,如果你输入123是输入不进去的。。
❺ androidstudio如何通过java属性设置输入文本只
androidstudio通过java属性设置输入文本只的方法有以下几种:
1、通过EditText的inputType来实现,可以通过xml或者Java文件来设置。
2、通过android:digits属性来设置。
3、通过正则表达式来判断。
❻ android判断一个editview按键输入的是不是指定的a-z和A-Z,数字0-9,中文汉字和;分号,不是就不显示
Android中EditText可以设置android:digits,表示只能输入指定的内容。
也可用以下方式处理:
在xml中增加android:digith="0123456789" 表示只能输入0-9
在xml中 android:maxLength="10" 表示最大字符为10个字符
用正则表达式判断 "^[0-9a-zA-Z]$" 即可
❼ android 控件xml属性
android : orientation (horizontal/vertical) 设置布局水平还是垂直,默认是垂直 LinearLayout中使用
a ndroid : checked (true/false) 标记默认选中,如果是单选则选中最后一个 RadioButton、CheckBox中使用
android: layout_gravity (center/right/left/bottom/top) 父布局中的位置
android: gravity (center/right/left/bottom/top)自己内容的位置 比如Button中的text 的位置
android: hint (string) 提示信息,当文本框为空的时候显示,点击消失 Edittext中使用
android: singleLine (true/false) 设置单行输入,一旦设置为true,则文字不会自动换行
android:textColor(#123456) 设置字体颜色
android: textStyle (bold/italic/bolditalic)设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
android:textSize (20sp)设置字体大小
android:editable(true/false)是否可编辑 edittext中才有效
android:textColorHighlight (#ffffff) 文字底色
android:textColorHint (#ffffff)提示文字颜色 edittext中才有效
android:textScaleX (1.5)文字距离
android:background 设置背景 可以是图片、颜色、@drawable/中的样式
android:layout_weight (1、2、3)权重 一般用在linearLayout中的
android:autoLink(none、web、email、phone、map、all)设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接
android: cursorVisible (true/false)设置光标是否显示
android: digits (123asdasaf/正则表达式) 限制输入内容
android: ellipsize (start、end、middle、marquee)设置当文字过长时,该控件该如何显示。有如下值设置:”start”省略号显示在开头;”end”省略号显示在结尾;”middle”省略号显示在中间;”marquee”以跑马灯的方式显示(动画横向移动)
android :inputType (none、text、textCapCharacters字母大小、textCapWords单词首字母大小、textCapSentences仅第一个字母大小、textAutoCorrect、textAutoComplete自动完成、textMultiLine多行输入、textImeMultiLine输入法多行(如果支持)、textNoSuggestions不提示、textEmailAddress电子邮件地址、textEmailSubject邮件主题、textShortMessage短信息(会多一个表情按钮出来)、textLongMessage长讯息?、textPersonName人名、textPostalAddress地址、textPassword密码、textVisiblePassword可见密码、textWebEditText作为网页表单的文本、textFilte文本筛选过滤、textPhonetic拼音输入、numberSigned有符号数字格式、numberDecimal可带小数点的浮点格式、phone电话号码、datetime时间日期、date日期、time时间。)设置文本类型
android: maxLines 设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示
android:minLines 设置文本的最小行数
android:scrollHorizontally 设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:clickable (true/false) view是否能对click事件作出反应
android:onClick 当view被click之后,view的context的哪个方法被呼叫。通常这个context是指view所在的Activity。例如:android:onClick='sayHello',则相应的Activity里面有一个方法public void sayHello(View view)方法,当这个view被click之后,sayHello方法就会被调用。
android:longClickable true/false view是否可以对长时间的click事件作出反应。
❽ android中如何用正则设置内容限于中英文文字及标点、数字格式
android:digits="1234567890.+-*/%\n()"
中文貌似没办法限制……
❾ Android求解,求一个判断是否为数字的正则表达式,要求全是数字,不能有特殊符号,汉字,字母,小数也不行
如果只是判断全是数字,那么直接用这个就可以了:
^\d+$
感兴趣的,也可以去看:
【教程】以Python中的re模块为例,手把手教你,如何从无到有,写出相对复杂的正则表达式
(此处不给贴地址,请自己用google搜标题,即可找到地址)
❿ java限制字符串只能输入2种结果
最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下:
1、第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置。假如我要设置为显示密码的形式,可以像下面这样设置:
在xml中, Android:inputType="textPassword"
在java文件中,可以用 myEditText.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
当然,还有更多的其他属性用来进行输入设置。
2、第二种是通过android:digits 属性来设置,这种方式可以指出要显示的字符,比如我要限制只显示数字,可以这样:
android:digits="0123456789"
如果要显示的内容比较多,就比较麻烦了,将要显示的内容依次写在里面。
3、通过正则表达式来判断。下面的例子只允许显示字母、数字和汉字。
public static String stringFilter(String str)throws PatternSyntaxException{
// 只允许字母、数字和汉字
String regEx = "[^a-zA-Z0-9\u4E00-\u9FA5]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
然后需要在TextWatcher的onTextChanged()中调用这个函数,
@Override
public void onTextChanged(CharSequence ss, int start, int before, int count) {
String editable = editText.getText().toString();
String str = stringFilter(editable.toString());
if(!editable.equals(str)){
editText.setText(str);
//设置新的光标所在位置
editText.setSelection(str.length());
}
}
4、通过InputFilter来实现。
实现InputFilter过滤器,需要覆盖一个叫filter的方法。
public abstract CharSequence filter (
CharSequence source, //输入的文字
int start, //开始位置
int end, //结束位置
Spanned dest, //当前显示的内容
int dstart, //当前开始位置
int dend //当前结束位置
);
下面的实现使得EditText只接收字符(数字、字母和汉字)和“-”“_”,Character.isLetterOrDigit会把中文也当做Letter。
editText.setFilters(new InputFilter[] {
new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
int dend) {
for (int i = start; i < end; i++) {
if ( !Character.isLetterOrDigit(source.charAt(i)) && !Character.toString(source.charAt(i)) .equals("_") && !Character.toString(source.charAt(i)) .equals("-"))
{
return "";
}
}
return null;
} });
另外使用InputFilter还能限制输入的字符个数,如
EditText tv =newEditText(this);
int maxLength =10;
InputFilter[] fArray =new InputFilter[1];
fArray[0]=new InputFilter.LengthFilter(maxLength);
tv.setFilters(fArray);
上面的代码可以限制输入的字符数最大为10。