检查Steam游戏键的string

基本上我需要帮助检查某个string是否包含某种模式:

这是一个数组中的几个string:

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

我需要检查整个arrays中的按键,这些按键来自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? } 

应该是什么//在那里? 检查数组中的string是否为特定的键模式。

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

谢谢您的帮助!

我build议你没有正则expression式的解决scheme。 你必须自己找一个Regex作为功课的解决scheme

 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);