【问题标题】:Check string for Steam Game Key检查 Steam 游戏密钥的字符串
【发布时间】:2016-12-22 16:49:54
【问题描述】:

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

以下是数组中的一些字符串:

[ "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?
}

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

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

感谢您的帮助!

【问题讨论】:

  • 这似乎是一个家庭作业问题,你没有告诉我们你尝试了什么。如何找到文本模式?是否允许使用正则表达式?
  • 我很确定我以前用过正则表达式,但我用的太少了。

标签: javascript arrays node.js steam


【解决方案1】:

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

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

【讨论】:

  • 谢谢,我试试看效果如何
  • 我已经尝试过并尝试对其进行一些修改。它似乎只采用仅包含蒸汽键的数据数组。它不会删除文本,然后获取密钥..
  • 好的,但还有一个问题:在字符串中识别键的规则是什么?是一个由简单引号包围的键 .... ?
  • 看到就是这样,Key 没有任何边界,只是随机放入一个字符串中。
  • 因此您必须使用正则表达式提取密钥
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-02
  • 2016-03-09
  • 2022-12-04
  • 1970-01-01
相关资源
最近更新 更多