html:
<input type="text" name="single" id="single" autocomplete="off"/>
<input type="text" name="all" id="all" />
/**
* 键盘函数事件
* 按下按键 —— keydown
* 松开按键 —— keyup
* 复制 —— copy
* 粘贴 —— paste
* 剪切 —— cut
*/
jquery:
$(document).on('keyup paste', #single, function () {
var single = $(this).val();
single = single.replace(/[^\d.-]/g, ''); // 先把非数字的都替换掉,除了数字和. -
single = single.replace(/^\./g, ''); // 必须保证第一个为数字而不是
single = single.replace(/^\.{2,}/g, ''); // 保证只有出现一个.而没有多个.
single = single.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.'); // 保证.只出现一次,而不能出现两次以上
$(this).val(single);
$('#all').val(single);
} )