手機號,銀行卡號等自動分組顯示的輸入框

2021-09-12 09:07:07 字數 1935 閱讀 6510

**位址如下:

####前言

在android開發中,我們經常會遇到手機號,銀行卡號,稅號等長串數字或字母,為了視覺上的簡潔化,需要4個一組分組顯示,今天就講講這個功能的實現和使用。

今天涉及的內容有:

原理分析

小寫轉大寫的類uppercasetransform

封裝類credittext的介紹和使用

專案結構圖和效果圖

#####一. 原理分析

鑑於要實現四字分隔的情況,那麼就需要監聽 edittext 的輸入過程,即需要實現 textwatcher 介面,然後在監聽輸入過程中去改變需要顯示的內容。

在這裡我們封裝了乙個credittext類,其內部有乙個

cardwatcher實現textwatcher介面,並實現4字一組的主要邏輯

#####二. 小寫轉大寫的類uppercasetransform

一般卡號可能是純數字,也可能是數字和字母組合,當涉及到字母的時候,一般字母都是大寫的,那麼為了方便使用者輸入,我們需要乙個將字母小寫轉大寫的類uppercasetransform,現在給出uppercasetransform**:

//首先是小寫轉大寫的方法

public class uppercasetransform extends replacementtransformationmethod ;

return aa;

}@override

protected char getreplacement() ;

return cc;}}

#####三. 封裝類credittext的介紹和使用

首先涉及到小寫字母轉大寫的設定:

//設定小寫轉換大寫

medttest.settransformationmethod(new uppercasetransform());

若小獲取credittext中輸入資料,你可以這樣:

string text=medttest.getdifferstring();
下面給出credittext在mainactivity中的使用範例:

public class mainactivity extends baseactivity

@override

public void initdata()

@override

public void setlistener()

@override

public void onclick(view v)

}private void showshort(string msg)

@override

protected void ondestroy()

}

mainactivity對應的activity_main.xml**如下:

<?xml version="1.0" encoding="utf-8"?>

其中最為重要的是,你一定要設定 「android:maxlength=「24」」屬性,不然會沒有效果。

#####四. 專案結構圖和效果圖

專案結構圖

效果圖

手機號,銀行卡號等自動分組顯示的輸入框

**位址如下:

判斷身份證 銀行卡 手機號等

判斷手機號 bool checkphone nsstring phonenumber 手機號碼 13 0 9 14 5,7 15 0,1,2,3,5,6,7,8,9 17 6,7,8 18 0 9 170 0 9 移動號段 134,135,136,137,138,139,150,151,152,15...

手機號4位顯示空格,銀行卡每4位顯示空格

開發有時候會遇到輸入手機號和銀行卡號,按照每4位顯示乙個空格的需求,方便使用者閱讀,如果是純展示,就很容易實現,如果是一邊輸入一邊展示則有點難度 有人用兩個input實現,乙個負責輸入資料,但是透明看不見,另外乙個展示在介面上,變相的解決了這個需求 手機上可呼叫數字鍵盤 本次取巧寫個demo,只用乙...

身份證 手機號 郵箱 銀行卡 企業稅號等正則校驗

身份證號正則校驗 前6位 第一位1到9範圍 後5位 數字 1 9 d 年份4位 開頭兩位 18 or 19 or 20 後面2位數字 18 19 20 d 月份2位 1開頭 第二位為0到2 或者 0開頭 第二位1到9 1 0 2 0 1 9 日期2位 第一位0到2的範圍,第二位1到9的返回 加上10...