自动计算textarea单词或代码

时间:2019-05-24 17:39:19

标签: javascript jquery

如果我只允许在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

enter image description here

0 个答案:

没有答案