1. 程式人生 > >限制EditText只能輸入中文

限制EditText只能輸入中文

MyEditText.setFilters(new InputFilter[]{filter, new InputFilter.LengthFilter(18)});
/**
     * EditText只能輸入中文
     */
    InputFilter filter = new InputFilter() {
        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            for (int i = start; i < end; i++) {
                if (!isChinese(source.charAt(i))) {
                    return "";
                }
            }
            return null;
        }
    };

    /**
     * 只能輸入中文的判斷
     *
     * @param c
     * @return
     */
    private boolean isChinese(char c) {
        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
            return true;
        }
        return false;
    }

注:輸入非中文,沒有資料(什麼反應都沒有有,只有輸入中文才會顯示出來)。

游標一直在末尾

roomName.setSelection(roomName.getText().length());


相關推薦

限制EditText只能輸入中文

MyEditText.setFilters(new InputFilter[]{filter, new InputFilter.LengthFilter(18)});/** * EditText只能輸入中文 */ InputFilter filte

Android限制EditText只能輸入中文或者指定內容的實現

最近專案中要限制EditText中只能輸入中文,之前寫過一個限制EditText只能輸入中文的實現,不過存在一些問題,而且擴充套件性不是很好,所以換了一種方法來實現. 先看一下效果圖: 具體實現 一般對EditText的操作及處理都是用addTex

Android 限制EditText只能輸入數字、限制輸入型別、限制輸入長度的小技巧

準確的說讓Edittext只能輸入數字有方法兩種,都是通過xml屬性設定 方法一: <EditText            android:id="@+id/u_account"            android:layout_width="0dp"

EditText禁止輸入中文或禁止emoji或只能輸入英文和數字

禁止輸入中文: edit.setKeyListener(new DigitsKeyListener() { @Override public int getInputType() { return InputType.TYPE_TEXT_VARIATION_

正則表示式限制只能輸入中文英文數字

無論移動端還是後臺都會遇到輸入框限制輸入特殊字元或者表情符;下面程式碼通過正則控制只能輸入中文、英文、數字 package pattern; import java.util.regex.Matcher; import java.util.regex.Pattern; publi

正則驗證 只能輸入中文、數字、字母 2-10個字符之間

正則驗證 只能輸入中文、數字、字母 2-10個字符之間var reg = /([u4e00-u9fa5\dA-Za-z]){2,10}/; //這個表達式有一些特殊字符 比如@ 是可以驗證通過的實際操作後發現下面正則表達式普通字母、數字已經隱含了不包括特殊符號所以下面包含普通字母、數字的正則表達是

js控制文本框只能輸入中文、英文、數字與指定特殊符號

code 中英文 text 數字0 控制文本框 右鍵 彈出 false 彈出菜單 原文:http://www.open-open.com/code/view/1433592419640 JS 控制文本框只能輸入數字 <input onkeyup="value=va

限制input只能輸入數字/數字和小數點

red onkeyup this span replace ice fff round logs 1.限制input只能輸入數字 <input id="Number" name="Number" type="text" class="form-control req

Android設定Edittext只能輸入字母數字彈出英文鍵盤

工作環境(藍色粗體字為重要內容,紅色粗體字為特別注意內容) 1,實驗環境:Eclipse+ADT/AndroidStudio 設定EditText只能輸入數字和字母 android:inputType="number"(彈出數字鍵盤) android:inputType="textEmai

限制前端只能輸入數字

shiy使用onkeyup和onafterpaste事件 在input文字加上這段話 onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')

EditText 只能輸入小數點後兩位

在EditText的xml屬性裡面添加了android:inputType=”number|numberDecimal” 小數或者小數點 //數量監聽 viewHolder.quantity.addTextChangedListener(new TextWatcher() { @Ov

js正則只能輸入中文

function checkText() { var text = document.getElementById('textBox').value; //匹配這些中文標點符號 。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥

Android-EditText只能輸入不能刪除的問題

如題目所示,非常詭異的問題,EditText只能輸入但是卻不能刪除! @Override     public InputConnection onCreateInputConnection(EditorInfo outAttrs) {           r

限制input只能輸入數字且限制只能輸入兩位小數

chrome中的input不要加type=”number”,有問題,輸入負號擷取到第一個字串是空,就預設text就行 若允許負數加上allowMinus類,正數只加limitNumber 以下可以封裝成函式,加到DOM上的onkeyup=foo(this)

限定EditText只能輸入兩位小數的兩種方式

/** * 限定EditText只能輸入最多兩位小數 * @author Administrator * */ public class MainActivity extends ActionBarActivity { private EditText num_et; private EditT

Silverlight限制TextBox只能輸入整數或者小數

  1 ///<summary>  2 /// TextBox篩選行為,過濾不需要的按鍵   3 ///</summary>  4 publicclass TextBoxFilterBehavior : Behavior<TextBox>  5     {   6 pr

javascript/JS限制使用者名稱只能輸入 漢字字母和數字下劃線

驗證使用者名稱的一個例子: html: js: function checkUser() { var username = $(“#username”).val(); if (!username.match( /^[\u4E00-\u9FA5a

Android:實現 程式碼控制 EditText 只能輸入固定長度的數字

// 輸入固定長度 editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(

限制EditText輸入數字和字母

可以通過設定EditText屬性digits android:digits="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVB

edittext只能輸入數字和小數點,且小數點後只能輸入兩位

1.在edittext的xml中輸入屬性 android:inputType="numberDecimal" 2.在edittext的監聽中 et_dollar.addTextChangedLi