一个坑爹的需求,JavaScript 要求动态输出正确的浮点数。
思路也很简单,bind
事件到 input
或者 on
事件里。 给出 MooTools 的代码,jQuery 和 ES5 实现的类似。
大致思路如下。
function convertFloot(idName) {
var xx = $(idName).get('value');
var textValue = xx.length;
if (textValue <= 1) {
$(idName).set('value', xx.replace(/\D/, ''));
}
if (textValue > 1) {
var textTemp = $(idName).get('value');
$(idName).set('value', textTemp.substring(0, 1) + textTemp.substring(1).replace(/[^0-9\.]/, ''));
textTemp = $(idName).get('value');
$(idName).set('value', textTemp.replace(/[\.]{2,}/, ''));
textTemp = $(idName).get('value');
if (textTemp.indexOf('.') != -1) {
var partA = null;
var partB = null;
partA = textTemp.substring(0, textTemp.indexOf('.') + 1);
partB = textTemp.substring(textTemp.indexOf('.') + 1);
partB = partB.replace(/[\.]/g, '');
textTemp = partA + partB;
$(idName).set('value', textTemp);
}
}
}