Android 输入框 只能输入数字大写字母

Posted 黄毛火烧雪下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 输入框 只能输入数字大写字母相关的知识,希望对你有一定的参考价值。

 et_number.apply 
            addTextChangedListener 

                val editable: String = text.toString()
                val regEx = "[^a-zA-Z0-9]" //只能输入数字小写大写字母
                val p: Pattern = Pattern.compile(regEx)
                val m: Matcher = p.matcher(editable)
                val str: String = m.replaceAll("").trim() //删掉不是字母或数字的字符
                if (editable != str) 
                    setText(str)//设置EditText的字符
                    setLastSelection()
                
                btn_search_action.isEnabled = it.isNotBlank() && it.length >= 8
            
            transformationMethod = object : ReplacementTransformationMethod() 
                override fun getOriginal(): CharArray 
                    return charArrayOf(
                        'a',
                        'b',
                        'c',
                        'd',
                        'e',
                        'f',
                        'g',
                        'h',
                        'i',
                        'j',
                        'k',
                        'l',
                        'm',
                        'n',
                        'o',
                        'p',
                        'q',
                        'r',
                        's',
                        't',
                        'u',
                        'v',
                        'w',
                        'x',
                        'y',
                        'z'
                    )
                

                override fun getReplacement(): CharArray 
                    return charArrayOf(
                        'A',
                        'B',
                        'C',
                        'D',
                        'E',
                        'F',
                        'G',
                        'H',
                        'I',
                        'J',
                        'K',
                        'L',
                        'M',
                        'N',
                        'O',
                        'P',
                        'Q',
                        'R',
                        'S',
                        'T',
                        'U',
                        'V',
                        'W',
                        'X',
                        'Y',
                        'Z'
                    )
                
            

        
/**
 *  内容变化监听, 只处理onTextChanged()回调
 *  @param textChanged 监听回调方法
 */
fun EditText.addTextChangedListener(textChanged: (String) -> Unit): TextWatcher 
    val watcher = object : TextWatcher 
        override fun afterTextChanged(s: Editable?) 
        

        override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) 
        

        override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) 
            textChanged(s.toString())
        
    
    addTextChangedListener(watcher)
    return watcher

以上是关于Android 输入框 只能输入数字大写字母的主要内容,如果未能解决你的问题,请参考以下文章

html 输入框 只能输入数字 只能输入字母数字组合

html 输入框 只能输入数字 只能输入字母数字组合

用Jquery控制文本框只能输入数字和字母

文本框只能输入数字字母,屏蔽粘贴

c#WINFORM中验证在文本框输入的只能是数字和字母,这个怎么做???

用Jquery控制文本框只能输入数字和字母