1. 程式人生 > >仿支付寶輸入金額格式限制工具類

仿支付寶輸入金額格式限制工具類

自定義工具類

**

* 作者: zhanghuaiwang

* 時間: 2018/9/12 11:31

* 描述:

*/

public class EditTextUtils {

/**

* 設定edittext只能輸入小數點後兩位

*/

public static void afterDotTwo(final EditText editText) {

editText.addTextChangedListener(new TextWatcher() {

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

// 限制最多能輸入9位整數

if (s.toString().contains(".")) {

if (s.toString().indexOf(".") > 9) {

s = s.toString().subSequence(0,9) + s.toString().substring(s.toString().indexOf("."));

editText.setText(s);

editText.setSelection(9);

}

}else {

if (s.toString().length() > 9){

s = s.toString().subSequence(0,9);

editText.setText(s);

editText.setSelection(9);

}

}

// 判斷小數點後只能輸入兩位

if (s.toString().contains(".")) {

if (s.length() - 1 - s.toString().indexOf(".") > 2) {

s = s.toString().subSequence(0,

s.toString().indexOf(".") + 3);

editText.setText(s);

editText.setSelection(s.length());

}

}

//如果第一個數字為0,第二個不為點,就不允許輸入

if (s.toString().startsWith("0") && s.toString().trim().length() > 1) {

if (!s.toString().substring(1, 2).equals(".")) {

editText.setText(s.subSequence(0, 1));

editText.setSelection(1);

return;

}

}

}

@Override

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

}

@Override

public void afterTextChanged(Editable s) {

if (editText.getText().toString().trim() != null && !editText.getText().toString().trim().equals("")) {

if (editText.getText().toString().trim().substring(0, 1).equals(".")) {

editText.setText("0" + editText.getText().toString().trim());

editText.setSelection(2);

editText.requestFocus();

}

}

}

});

}

}

使用工具類

et_balance1.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

EditTextUtils.afterDotTwo(et_balance1);

金額驗證的正則表示式

//金額驗證

public static boolean isNumber1(String str){

Pattern pattern= Pattern.compile("^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,2})?$"); // 判斷小數點後2位的數字的正則表示式

Matcher match=pattern.matcher(str);

if(match.matches()==false){

return false;

}else{

return true;

}

}

提示

case R.id.btn1:

String ni=et_balance1.getText().toString().trim();

if(TextUtils.isEmpty(ni)){

Toast.makeText(mContext,"不能為空",Toast.LENGTH_SHORT).show();

return;

}

if(".0".equals(ni)||"0".equals(ni)||"0.".equals(ni)||"0.0".equals(ni)||"0.00".equals(ni)){

Toast.makeText(mContext,"請輸入大於0.01",Toast.LENGTH_SHORT).show();

return;

}

if(isNumber1(ni)){

Toast.makeText(mContext,ni,Toast.LENGTH_SHORT).show();

}else {

Toast.makeText(mContext,"不是",Toast.LENGTH_SHORT).show();

}

break;

}

相關推薦

仿支付輸入金額格式限制工具

自定義工具類 ** * 作者: zhanghuaiwang * 時間: 2018/9/12 11:31 * 描述: */ public class EditTextUtils { /** * 設定edittext只能輸入小數點後兩位 */ public s

android仿支付輸入車牌號

這個是iOS的效果圖,差異不大,樓主主攻OC,見諒   需要用到的xml檔案 需要用到的類 number_or_letters.xml   <?xml version="1.0" encoding="UTF-8"?> <Keyboard an

仿支付輸入框+輸入鍵盤

1、輸入框。 public class CustomEditor extends View { private Paint linePaint = new Paint(); private Paint pwPaint = new Paint(); // 密碼 pri

仿支付、微信EditText金額輸入驗證

金額輸入要考慮的幾種情況: **1.首位輸入小數點的情況 2.小數點後保留2位 3.當切換小數點位置時的處理 4.不能輸入多個小數點。** 不多說, 上程式碼: public class CashierInputFilter implements I

仿支付/微信的password輸入框效果GridPasswordView解析

arp 主類 center 大小 str .get fcm android def 仿支付寶/微信的password輸入框效果GridPasswordView解析,把一些設置和一些關鍵的地方列了出來,方便大家使用,可能能夠省一部分的時間,也算是自己的積累吧。

Android仿支付密碼輸入框(自定義數字鍵盤)

1.概述          Android自定義密碼輸入框,通過自定義輸入顯示框和自定義輸入鍵盤,實現仿支付寶數字鍵盤等。程式碼已託管到github,有需要的話可以去我的github下載。 可以自定義關閉圖示、文字內容、顏色、大小,彈框樣

仿支付密碼輸入以及細節總結

網上已經有很多現成的輪子了,雖然說重複造輪子不好,但是對於初學者還是多寫多實現,瞭解原理最重要。 首先看下效果: 需求 主要有以下幾個點: 密碼輸入框由幾個方框組成 當在軟鍵盤上輸入密碼時,在對應的方框內會用圓點作為代替 當輸入完成以後,自

封裝仿支付密碼輸入效果

仿支付寶密碼輸入效果 模仿支付寶輸入效果,實現很簡單,就是畫個矩形框和圓形,其他的通過組合view來實現所有功能,雖然簡單但是封裝起來,方便以後使用,也分享一下,希望對別人也有點幫助。 1、如何使用,可以設定自己的進入退出動畫,不設定則沒有動畫效

一步一步實現高仿支付金額圓環圖

現在應用裡面整合圖表是很常見的事了,簡單、直觀能給使用者更直觀的感受,包括支付寶,招商銀行App等,雖然有很多第三方的圖示庫,但是自己實現一個是不是很有成就感?主要優勢還是體現在自己可以實現一些特殊需求以及自己實現程式碼量小,不到150行。現在我們就來一步一步實現一個帶動畫的圓環圖,先放效果圖。 初始化一

android中6個EditText輸入驗證碼(仿支付支付輸入密碼框)

/**  *  * @author lm  *  */ public class IdentifyActivity extends Activity {     private EditText mEditTextOne, mEditTextTwo, mEditTextThree, mEditTextFou

自定義純數字密碼輸入鍵盤-仿支付數字密碼鍵盤

前陣子遇到專案需求,需要自己整一個純數字密碼輸入鍵盤,所以也就整出來了,如下圖: 其實也就是繼承重寫了popupwindow。 public class MyPopupWindow extends PopupWindow implements View.OnClick

Android自定義控制元件開發系列(三)——仿支付六位支付密碼輸入頁面

        在移動互聯領域,有那麼幾家龍頭一直是我等學習和追求的目標,比如支付寶、微信、餓了麼、酷狗音樂等等,大神舉不勝舉,他們設計的介面、互動方式已經培養了中國(有可能會是世界)民眾的操作習慣:舉個小例子,對話方塊“確定”按鈕的左右位置就很有學問,如果大家都是左邊取消

aNDROID仿支付餅圖效果

餅圖 aid hao123 .com andro smart and lis oid sMaRT%E6%BC%82%E4%BA%AE%E6%97%B6%E9%92%9F%E2%80%94%E2%80%94%E6%BA%90%E4%BB%A3%E7%A0%81 http:/

仿支付首頁頭部伸縮效果

nat load err 默認 hub pen tle 滑動 bili 原文鏈接:https://mp.weixin.qq.com/s/GegMt7GDBCFVoUgFQWG3Sw 每次打開支付寶首頁滑動,頭部的伸縮動畫甚是吸引人。於是自己決定動手來實現一個。 無圖言虛

iOS仿支付首頁效果

tor www self get mage rsh .data 一定的 完全 代碼地址如下:http://www.demodashi.com/demo/12776.html 首先看一下效果 狀態欄紅色是因為使用手機錄屏的原因。 1.問題分析 1.導航欄A有兩組控件,

Android基礎控件——CardView的使用、仿支付銀行卡

內容 https prev use 設置 back com 支付 技術 今天有空學習了下CardView的使用,既然是使用,不凡使用一個實例操作一下 CardView是Android5.0的新控件,所以我們需要在dependencies中添加支持: CardVie

webApp 使用mui 仿支付主頁面案例

效果:         原始碼: <!doctype html> <html>     <head>        &

css仿支付提現到賬過程時間軸

 本來想找一個現成的仿支付寶提現的時間軸,才發現沒有,我覺得不應該啊,又找了一會還是沒喲,算了,自己寫一個吧,分享出來,有需要的朋友可以直接拿走。 需要:1、iconfont(阿里巴巴向量圖示庫找個圖示,我已經找下了,你不想用也可以自己再找)   &nb

react native 仿支付更多

公司要做一個支付寶更多的滑動效果。查詢react naive 沒有好的元件來實現。自己做了一個demo.   效果圖   程式碼實現: import React, {Component} from 'react'; import { StyleS

android仿支付螞蟻森林載入動畫效果

一圖勝千言 偷過別人能量的小夥伴都熟悉這個載入效果,下面就講解一下實現過程。 1,自定義view 2,這裡要用到螞蟻森林的圖示,如圖 通過canvas.drawBitmap()畫出圖片。 3,通過PorterDuff.Mode.SRC_IN,給圖片填充想要的