检查 Steam 游戏密钥的字符串

Check string for Steam Game Key

基本上我需要帮助来检查某个字符串是否包含某个模式:

数组中有几个字符串:

[ "please use this key: ')D9ad-98ada-jiada-8a8aa'",
  "kK8AD-AODK8-ADA7A",
  "heres a free game for you guys dkaa2-21ddd-9a9aa-9wada"
]

我需要检查整个数组,寻找符合 Steam 密钥格式的密钥:

Please keep the real keys formats, as told by steam and seen bellow:
AAAAA-BBBBB-CCCCC
AAAAA-BBBBB-CCCCC-DDDDD-EEEEE

我知道我需要这样的 for 循环:

for(var i=0;i<arrayName.length;i++) {
    // What should be in here?
}

里面应该有什么?检查数组中的字符串是否有特定的键模式。

另外,请记住,我需要先删除文本,然后再检查密钥。

感谢您的帮助!

我向您推荐一个没有正则表达式的解决方案。你必须自己找到一个正则表达式作为家庭作业的解决方案

var data = [ "please use this key: ')D9ad-98ada-jiada-8a8aa'",
  "kK8AD-AODK8-ADA7A",
  "heres a free game for you guys dkaa2-21ddd-9a9aa-9wada"
];
var result = [];
data.forEach(x => {
  var flag = true;
  var array = x.split("-");
  if (array.length === 3 || array.length === 5){
    array.forEach(y => {
      if (y.length !== 5) flag = false;
    });
  }
  else flag = false;
  if (flag === true) result.push(x);
});
console.log(result);