gpt4 book ai didi

javascript - 更改前清理输入

转载 作者:行者123 更新时间:2023-12-01 01:54:26 26 4
gpt4 key购买 nike

我正在使用带有 float 列的handsontable 0.35.1。目的是允许用户从电子表格(以及在 Excel 中打开的 csv)复制粘贴。问题是,它附带了一些我需要清除的垃圾。未正确验证的输入的一些示例是:

1,000.00
USD 100.00
'10000.00 ' //note there are trailing spaces

我想找到一种可以在写入之前操纵输入的方法。到目前为止我发现的唯一方法是使用 beforeChange,但问题是验证。系统更改输入,但似乎已经验证。如果我模糊然后再次模糊,它就会起作用。

这是fiddle 。重现步骤:输入数字 a123——应将其更正为 123 并验证为正确的数字。

我尝试使用 beforeValidation 代替,但它没有按我的预期工作。

最佳答案

您可以使用 beforePaste 回调来清理您的输入

  options = {
columns: [
{ type: 'date' },
{ type: 'numeric', numericFormat: {pattern: '0,0.00'} }
],
colHeaders: ["Date", "Float"],
beforePaste: (data, coords) => {
data.forEach((col, colIndex) => {
col.forEach((row, rowIndex) => {
let value = row.trim().replace(/[^0-9\.\-\+]/g, '')
data[colIndex][rowIndex] = value
})
})
return true
},
}
$('#hot-sheet').handsontable(options)

这里是 fiddle https://jsfiddle.net/xpvt214o/348195/

注意:您无法创建新的数据数组,您必须更新数据数组而不是创建新的。

关于javascript - 更改前清理输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51151456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com