EditText 限制可輸入的字元

2021-07-06 02:58:23 字數 718 閱讀 5743

今天在專案中遇到了edittext設定登入密碼的時候,輸入了中文字元,這樣一來就和pc端相衝突了.想了很久,嘗試了幾個辦法,仍然沒有有效的解決.

1.通過matcher來過濾掉其中的中文字元:

//判斷是否有中文字元

static string regex = "[\u4e00-\u9fa5]";

static pattern pat = pattern.compile(regex);

/*** 判斷字串中是否包含有中文文字

* */

public static boolean iscontainschinese(string str)

return ***;}

這樣做,並沒有限制住中文的標點符號之類的,僅僅顯示住了不可輸入中文.

2.查閱之後,發現edittext有乙個屬性digits ,可以限制可輸入的字元.

android:id = "@+id/et"

style = "@style/customedittext"

android:digits = "@string/caninputnum"/>

_.?!@#$%^&*()1234567890qwertyuiopasdfghjklzxcvbnm,./';qwertyuiop';lkjhagsfdzcxvbnm,./

這麼以來,就基本限制住了edittext的需求,但是缺陷也很明顯,如果有其他的特殊字元,那麼也會有問題.

EditText限制文字輸入

private final textwatcher mtextwatcher new textwatcher public void ontextchanged charsequence s,int start,int before,int count public void aftertextch...

EditText實現輸入限制和校驗

一 方法 1 輸入限制 1 通過android digits限制只能輸入小寫abc android digits abc 2 通過android inputtype限制只能輸入數字 android inputtype number 在android inputtype中可以設定各種限制,比如郵箱位址...

限制EditText輸入型別與長度

這次遇到的問題是要對乙個輸入框可輸入內容與長度做限制,以前的時候就在xml裡面的edittext相應屬性設定一下就好了 android inputtype phone android inputtype text 文字 android inputtype number 數字長度也好搞,設定乙個max...