如果我只允许在textarea中插入特定的单词或代码。然后,它会自动计算这些特定的代码或单词+所有行(谈论代码更容易)。
因此,如果我只允许在Textarea中插入3个代码,并阻止在其中插入其他任何代码或单词,那么
我只想插入代码123A,456B,789C。后三位数字是产品计数。所以我插入了123A001、123A002等代码。
const CODE = ['123A', '456B', '789C'];
const reg = /^([a-zA-Z0-9]{1,3})$/;
// Ensure values been inserted are in correct format
function onInput() {
let values = event.target.value
.split('\n')
.map(v => {
v = v.trim().toUpperCase();
if (v.length <= 4) {
if (CODE[0].substr(0, v.length) != v &&
CODE[1].substr(0, v.length) != v) {
v = v.substr(0, v.length - 1);
}
} else if (!v.substr(4, 7).match(reg)) {
v = v.substr(0, v.length - 1);
}
return v;
}).join('\n');
event.target.value = values;
}
<textarea oninput="onInput()" rows="10" cols="30">
123A001
456B001
123A002
789C001
123A003
789C002
</textarea>
我希望它计算这三个代码+所有行
示例:
123A:3 456B:1 789C:2总数:6