refundAmoutInput: function(event){ var value = event.detail.value; if (value.split('.')[0].length > 7) { if (value.split('.')[1]) { value = value.split('.')[0].substr(0, value.split('.')[0].length - 1) + '.' + value.split('.')[1]; } else { value = value.split('.')[0].substr(0, value.split('.')[0].length - 1); } } value = value.replace(/[^\d\.]/g, ""); //清除"數字"和"."之外的字符 value = value.replace(/^\./g, ""); //驗證第一個字符是數字 value = value.replace(/\.{2,}/g, "."); //只保留第一個, 清除多餘的 value = value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); var refundAmoutStr = 'refundInfo.refundAmout'; this.setData({ [refundAmoutStr]: value, }) },
最多7位整數+最多兩位小數點,如超出位數或者輸入其它格式,不顯示輸入;this