我敢肯定我以前见过这个,但我想不起来是怎么做的了。我已经用头撞了好几个小时了!
我想做的是将一系列字母数字和符号字符加载到名为"allowedCharacters"的字符串中。
然后,当一个userEnteredString出现时,我想执行string. replace()来从userEnteredString中删除任何不在"allowedCharacters"中的字符。
就像这样:
function parseEntry(enteredString) {
let allowedAlphas = 'd';
let allowedDigits = '0123456789';
let allowedSymbols = ' ()×*+-=÷\/';
let allowedCharacters = allowedAlphas + allowedDigits + allowedSymbols;
enteredString = enteredString.replace(allowedCharacters, '');
}
我知道这是错误的,也不管用,但我一直在拼命回想我以前是怎么做的,已经有十多二十年了。
基本上,我想设置一个简单的字符串,它可以包含允许的字符,然后从另一个字符串中删除任何不在"允许"字符串中的单个字符。
2条答案
按热度按时间jjhzyzn01#
实际上,如果你把所有目标字符都包含在一个正则表达式字符类中,它应该可以工作:
rkkpypqq2#
你可以做这样的事,
(代码段也可作为JSFiddle here提供)
举重的主要部分是返回的最后一行。
1.我们首先将字符串转换为
[...x]
数组1.然后,我们可以过滤每个字符
c
,使c
存在于allowCharacters
字符串中。1.一旦我们过滤了数组,我们就可以用
.join("")
将它转换回字符串相关阅读
Array.prototype.filter()
- MDNArray.prototype.join()
- MDN