這是第一次使用正規表示式來實現輸入框限制輸入型別,場景是專案中個人資訊模組中的姓名字段只能要求輸入這些型別,之前只是用其他的方式實現過其他型別的限制輸入,這次想到這個方法邊讓同事幫忙寫了個正則(對於正則我可真是心有餘而力不足
public static string stringfilter(string str) throws patternsyntaxexception
然後實現edittext的addtextchangedlistener,並且在ontextchanged呼叫改正規表示式
nameet.addtextchangedlistener(new textwatcher()
// 注意這裡一定是這種形式,上邊注釋掉的這種形式好像沒有作用哎(至於為什麼我也不太清楚)
string strs=nameet.gettext().tostring();
str = stringfilter(strs.tostring());
if (!strs.equals(str))
}@override
public void beforetextchanged(charsequence s, int start, int count,
int after)
@override
public void aftertextchanged(editable s)
});另外乙個正規表示式:^[\u4e00-\u9fa50-9a-za-z_-]$(數字英文本母和中文漢字)
好了,今天就先分享這麼多了,希望可以幫助到大家。。。
EditText限制文字輸入
private final textwatcher mtextwatcher new textwatcher public void ontextchanged charsequence s,int start,int before,int count public void aftertextch...
iOS textfield 限制只能輸入中文
網上搜到的大都是同一種方法,但是這種方法在全鍵的情況下可以,在九鍵的情況下是存在問題的,弄得頭疼,後來才發現,九鍵輸入的字元是需要特殊處理的 而且光處理九鍵還是會有問題,乾脆自己寫吧 件 import inte ce chinesenotificationhelp nsobject instance...
EditText 限制可輸入的字元
今天在專案中遇到了edittext設定登入密碼的時候,輸入了中文字元,這樣一來就和pc端相衝突了.想了很久,嘗試了幾個辦法,仍然沒有有效的解決.1.通過matcher來過濾掉其中的中文字元 判斷是否有中文字元 static string regex u4e00 u9fa5 static patter...