我写了一些JavaScript代码,在将数字插入表中时,应该从粘贴的数字字符串中删除点。然而,当我试图将值粘贴到表中时,我立即收到一个警告,并且函数不会删除点。
例如,当粘贴数字11.11时,我希望接收值1111。
下面是我使用的代码:
$(document).ready(function () {
$('#MY_IG_ig > div.a-IG-body').on('paste', function (e) {
var clipboardData, pastedData;
clipboardData = e.originalEvent.clipboardData || window.clipboardData;
pastedData = clipboardData.getData('Text');
pastedData = pastedData.split('.').join('');
if (!/^\d+$/.test(pastedData)) {
e.preventDefault();
alert('Must be a number!');
}
});
});
编辑:
我修改了代码如下:
if (!/^\d+$/.test(pastedData)) { e.preventDefault(); alert('Enter a valid number!'); } else { $(e.target).val(pastedData); }
在控制台上,值是正确的,11.11被更改为1111,但当我将值粘贴到表中时,我得到11111.11。是什么原因导致了这一点?
1条答案
按热度按时间dwbf0jvd1#
如何查找问题
在从clipBoard数据中获得pastedData之后,您可以通过像这样添加额外的
console.log
语句来检查这些可能性。如果输入确实是
11.11
,则输出将是1111
。