❶ 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。