将 ÅÄÖ(大写和小写)替换为 javascript

Replace ÅÄÖ (both capital and lowercase) with javascript

我正在尝试替换用户输入(列名)变量中的 Å、Ä 和 Ö。这个变量需要前。 x00e5 对于“å”等使用从 SharePoint 检索列(按内部名称),因此我需要正确的格式。

我正在检查输入值是否包含 Å、Ä 和 Ö(大写和小写):

switch (inputValue) {
 case inputValue.indexOf('å') > -1:
   inputValue = inputValue.replace(/å/g, '_x00e5_');
   break;
 case inputValue.indexOf('Å') > -1:
   inputValue = inputValue.replace(/Å/g, '_x00c5_');
   break;
 case inputValue.indexOf('ä') > -1:
   inputValue = inputValue.replace(/ä/g, '_x00e4_');
   break;
 case inputValue.indexOf('Ä') > -1:
   inputValue = inputValue.replace(/Ä/g, '_x00c4_');
   break;
 case inputValue.indexOf('ö') > -1:
   inputValue = inputValue.replace(/ö/g, '_x00e6_');
   break;
 case inputValue.indexOf('Ö') > -1:
   inputValue = inputValue.replace(/Ö/g, '_x00c6_');
   break;
 default:
   break;
}

即使一个案例条件为真,也永远不会进入案例。

这不是 simplest/best 解决方案吗?

如果目标子字符串不存在,调用 replace() 没有任何坏处。所以不需要 switch:

inputValue = inputValue
  .replace(/å/g, '_x00e5_')
  .replace(/Å/g, '_x00c5_')
  .replace(/ä/g, '_x00e4_')
  .replace(/Ä/g, '_x00c4_')
  .replace(/ö/g, '_x00e6_')
  .replace(/Ö/g, '_x00c6_');