JSFiddle - React, Tailwind, and code Playground
HTML
<b>Tests</b><br/><br/>
empty input field<br/>
<input class="mask"/> <input class="fix_mask"/> <br/><br/>
input field set via html <b>value="2.1"</b><br/>
<input class="mask" value="2.1"/> <input class="fix_mask" value="2.1"/> <br/><br/>
input field set via html <b>value="2.11"</b><br/>
<input class="mask" value="2.11"/> <input class="fix_mask" value="2.11"/> <br/><br/>
input field set via html <b>value="200"</b><br/>
<input class="mask" value="200"/> <input class="fix_mask" value="200"/> <br/><br/>
input field set via javascript <b>constant</b><br/>
<input id="const1" class="mask"/> <input id="const2" class="fix_mask"/> <br/><br/>
input field set via javascript <b>variable</b><br/>
<input id="var1" class="mask"/> <input id="var2" class="fix_mask"/> <br/><br/>
input field set via .maskMoney('mask',<b>number</b>);<br/>
<input id="maskmoney1" class=""/> <input id="maskmoney2" class=""/> <br/><br/>
input field set via .maskMoney('mask',<b>string</b>);<br/>
<input id="maskmoney3" class=""/> <input id="maskmoney4" class=""/> <br/><br/>
JavaScript
//------------------------------------jquery.maskMoney.js-----------------------------------------------------
(function ($) {
"use strict";
if (!$.browser) {
$.browser = {};
$.browser.mozilla = /mozilla/.test(navigator.userAgent.toLowerCase()) && !/webkit/.test(navigator.userAgent.toLowerCase());
$.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
$.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
$.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
}
var methods = {
destroy : function () {
$(this).unbind(".maskMoney");
if ($.browser.msie) {
this.onpaste = null;
}
return this;
},
fix_mask : function (value) {
return this.each(function () {
var $this = $(this),
decimalSize;
// no value passed to moneyMask('mask') and field has numeric value
if (typeof value === "undefined" && typeof Number($this.val()) === "number")
value = Number($this.val());
// number as string passed to moneyMask
if (typeof Number(value) === "number")
value = Number(value);
if (typeof value === "number") {
$this.trigger("mask");
decimalSize = $($this.val().split(/\D/)).last()[0].length;
value = value.toFixed(decimalSize);
$this.val(value);
}
return $this.trigger("mask");
});
},
mask : function (value) {
return this.each(function () {
var $this = $(this),
decimalSize;
if (typeof value === "number") {
$this.trigger("mask");
decimalSize = $($this.val().split(/\D/)).last()[0].length;
...