今天在專案中遇到了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...