js價格金額輸入限制 (無精度 科學計數法問題)

2021-09-29 13:20:05 字數 2537 閱讀 6890

1、基本input都是進行字串驗證限制,因為轉金額驗證會更麻煩,處理大數值的問題

2、超過16位的數值都會有精度問題,因為計算機的進製是二進位制,進製是按二進位制,不是十進位制的四捨五入,同時js支援的數值位數有限(引入bignumber處理超過16位的數值)

bignumber相關用法

/**

* **格式限制

* 必須加格式限制屬性 n-format

* e.g:

* 11位整數,5位小數

* */

// reg = '^(0|[1-9]\\d|0\\.\\d|[1-9]\\d\\.\\d)$';$(

'.price').

blur

(function

(el))$

('.price').

focus

(function

(el))$

('.price').

bind

('input propertychange'

,function

(el)

).*$'),

'$2.$3');

//只能輸入5個小數

value = value.

replace

(/^(0)(\d.*)/

,'$2');

// 去除開頭的多餘的0

$(target)

.val

(value);}

)$('.price').

keyup

(function

(el)

}else

$(target)

.val

(value);}

)/**

* 數量格式限制 : 預設限制8位

*/$('.num').

blur

(function

(el)

)$/;if(

!value.

match

(reg))$

(target)

.val

((value))}

)$('.num').

bind

('input propertychange'

,function

(el)

).*$/

,'$1');

//只能輸入8位整數

value = value.

replace

(/^(0)(\d.*)/

,'$2');

// 去除開頭的多餘的0

$(target)

.val

(value);}

)/**

* 將數字保留5位小數、將整數字使用千分位

* @param str

* @returns

*/function

tostr

(str, decimal)

return temp;}if

(c1.length >

1&& c1[1]

.length >5)

var c2 = str.

split

(".");

str =

segmentation

(c2[0]

);if(c2.length >1)

var c3 = str.

split

(".");

if(c3.length >1)

}else

}return str;

}/**

* 千分

* @param str

* @returns

*/function

segmentation

(str)

}for

(var i =

1; i <= b; i++)}

return result;

}/**

* 千分位轉數字格式

* @param str

* @returns

*/function

tonum

(str)

/** * 大資料-加

* @param n1

* @param n2

* @returns

*/function

bigplus

(n1, n2)

/** * 大資料-減

*/function

bigminus

(n1, n2)

/** * 大資料-乘

*/function

bigmultipliedby

(n1, n2)

/** * 大資料-除

*/function

bigdividedby

(n1, n2)

其他金額、數值相關js庫(numeral.js、math.js、currencyformatter.js)

Android 輸入金額限制,各種限制

小菜最近因工作需要做乙個支付金額對話方塊的小模組,技術很淺顯,遇到幾個小坑,分享給大家 需求小菜遇到的坑之一 其他頁面中獲取到的金額需要儲存兩位小數,本來我打算直接用 string 轉為 double 型別,但是遇到儲存精度問題 string 19.99 double 19.98 所以借鑑bigde...

js限制input輸入

1.取消按鈕按下時的虛線框,在input裡新增屬性值 hidefocus 或者 hidefocus true 2.唯讀文字框內容,在input裡新增屬性值 readonly 3.防止退後清空的text文件 可把style內容做做為類引用 4.enter鍵可以讓游標移到下乙個輸入框 5.只能為中文 有...

js限制input輸入

1.取消按鈕按下時的虛線框,在input裡新增屬性值 hidefocus 或者 hidefocus true 2.唯讀文字框內容,在input裡新增屬性值 readonly 3.防止退後清空的text文件 可把style內容做做為類引用 4.enter鍵可以讓游標移到下乙個輸入框 5.只能為中文 有...