1. 程式人生 > >EditText限制只能輸入漢字字母和空格

EditText限制只能輸入漢字字母和空格

這是第一次使用正則表示式來實現輸入框限制輸入型別,場景是專案中個人資訊模組中的姓名欄位只能要求輸入這些型別,之前只是用其他的方式實現過其他型別的限制輸入,這次想到這個方法邊讓同事幫忙寫了個正則(對於正則我可真是心有餘而力不足偷笑)希望能夠幫到大家。。。好了不在這裡扯牛寶寶了,還是直接上程式碼吧,對於做技術的而言還是程式碼來的最實在。。(說好的不扯呢,又扯這麼多怪我咯大笑)。

首先上一個正則:

public static String stringFilter(String str) throws PatternSyntaxException {
        // 只允許字母、和空格和漢字
        String regEx = "[a-zA-Z\\u4E00-\\u9FA5 ]+";
        return str != null ? (str.matches(regEx) ? str : "") : "";
    }

然後實現EditText的addTextChangedListener,並且在onTextChanged呼叫改正則表示式

nameEt.addTextChangedListener(new TextWatcher() {
            String str;
            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {

               // String str = stringFilter(nameEt.getText().toString());
                //System.out.println("輸入框改變的值是:===" + str.toString());
                // if (nameEt.getText().equals(str)) {
                // nameEt.setText(str);
                //nameEt.setSelection(str.length());
                //  }

                //  注意這裡一定是這種形式,上邊註釋掉的這種形式好像沒有作用哎(至於為什麼我也不太清楚)

                String strs=nameEt.getText().toString();
                str = stringFilter(strs.toString());
             
                if (!strs.equals(str)) {
                    nameEt.setText(str);
                    nameEt.setSelection(str.length());
                }
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {

            }

            @Override
            public void afterTextChanged(Editable s) {
                
            }
        });

另外一個正則表示式:^[\u4E00-\u9FA50-9a-zA-Z_-]{0,}$(數字英文字母和中文漢字)

       好了,今天就先分享這麼多了,希望可以幫助到大家。。。

相關推薦

EditText限制只能輸入漢字字母空格

這是第一次使用正則表示式來實現輸入框限制輸入型別,場景是專案中個人資訊模組中的姓名欄位只能要求輸入這些型別,之前只是用其他的方式實現過其他型別的限制輸入,這次想到這個方法邊讓同事幫忙寫了個正則(對於正則我可真是心有餘而力不足)希望能夠幫到大家。。。好了不在這裡扯牛寶寶了,

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

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

input框限制只能輸入正整數,邏輯與或運算 有時需要限制文字框輸入內容的型別,本節分享下正則表示式限制文字框只能輸入數字、小數點、英文字母漢字等程式碼。 例如,輸入大於0的正整數 程式碼

有時需要限制文字框輸入內容的型別,本節分享下正則表示式限制文字框只能輸入數字、小數點、英文字母、漢字等程式碼。 例如,輸入大於0的正整數 程式碼如下: <input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^

Android EditText輸入限制最大字元長度 限制只能輸入數字字母(包含大小寫)

          如題:Android EditText輸入限制最大字元長度  和 限制只能輸入數字和字母(包含大小寫),主要是如下兩個屬性:             android:maxLength="10"             android:digits="0

EditText設定輸入的型別,比如說限制只能輸入字母數字

<com.cplotus.app.widget.EditTextWithDel android:id="@+id/et_password"

input框限制只能輸入正整數、字母、小數、漢字

有時需要限制文字框輸入內容的型別,本節分享下正則表示式限制文字框只能輸入數字、小數點、英文字母、漢字等程式碼。 例如,輸入大於0的正整數 程式碼如下: <input onkeyup="if(this.value.length==1){this.value=this

js判斷只能輸入字母空格

var i = /^(?!_)([A-Za-z ]+)$/; var EnglishName = document.getElementById("<%=txtEnglishName.ClientID %>").value; if(!EnglishName.

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

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

給定由大寫,小寫字母空格組成的字串,返回 最後 一個單詞的長度。 如果輸入中不存在單詞,返回 0。

給定由大寫,小寫字母和空格組成的字串,返回 最後 一個單詞的長度。 如果輸入中不存在單詞,返回 0。 注意: “單詞”是指不包含空格符號的字串 例如: 對於字串"hello World"(不帶引號), 那麼返回的結果是 5; 對於字串"abc "(不帶引號),那麼

input框限制只能輸入正整數,邏輯與或運算

<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;i

edittext 禁止輸入非法字元空格,用到輸入過濾器InputFilter

一般在我們初始化的時候,給需要限制的edittext直接設定  //禁止輸入空格 setEditTextInhibitInputSpeChat(et_nickname); //禁止輸入空格 private void setEditTextInhibitInputSpeChat

只能輸入漢字EditText:ChineseEditText

package com.li.newhuangjinbo.custom; import android.content.Context; import android.util.AttributeSet; import android.view.KeyEvent

Android EditText 讓編輯框只能輸入漢字

最近在專案中,有遇到“讓編輯框只能輸入漢字”這種需求,然後上網看了一下,解決方法大致是兩種,一種是自定義了一個EditText,然後重寫commitText方法,實現限制輸入漢字的方法,例如: /

【正則表示式】——限制只能輸入數字小數點及位數

      在專案中,特殊字元的輸入限制屢見不鮮,可以說,對字元輸入的限制,已經是一個程式猿的基本功。常見的字元輸入限制有很多型別,如:只能輸入漢字;只能輸入數字和小數點;只能輸入英文字母等。。。       今天,和大家分享一個比較基本的特殊字元輸入限制的通用方法:只能

js驗證只能輸入漢字 只能輸入數字 只能輸入英文數字 控制輸入只能輸入

只能輸入漢字: <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData

Android EditText設定只能輸入數字小數點

EditText可以設定多種輸入方式,其中若要設定輸入數字和小數點時應注意一下幾點: 1.如果設定只輸入數字 edittext.setInputType( InputType.TYPE_CLASS_NUMBER); 此時只會彈出數字輸入框,符號點選後不會輸入到文字框中 2

JS正則表達式驗證輸入只能輸入漢字半角逗號

逗號 div 示例 商品 itl style nbsp urn span JS正則表達式驗證輸入框只能輸入漢字和半角逗號 1.正則表達式 [\u4E00-\u9FA5,]+$ 2.代碼示例        var colo

正則匹配輸入只能包含小寫字母.,以字母開頭/結尾

ava pub mat 字母 group ssss str out main import java.util.regex.Matcher;import java.util.regex.Pattern;public class CC { public static v

執行這些代碼, Edit1只能輸入數字,小數點負號,負號小數點只能輸入一個,負號必須在最前,粘貼的數字必須完全正確.

eat win method and length use double .text sel 執行這些代碼, Edit1只能輸入數字,小數點和負號,負號和小數點只能輸入一個,負號必須在最前,粘貼的數字必須完全正確. type TForm1 = class(T

給定一個句子(只包含字母空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格

foo x11 sdi ocl ref margin dia 分割 lns 2巳嘿2啃40必刪8蔚http://t.docin.com/mqjnf44635 4瓶3ck芳8g0琳c鋪巢0http://t.docin.com/uemr9596 pf絞職9ZPFV壕5htt