首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查输入是否与STEAM ID格式匹配

检查输入是否与STEAM ID格式匹配
EN

Stack Overflow用户
提问于 2011-07-17 21:50:09
回答 3查看 5.3K关注 0票数 1

我知道如何匹配它,但我不知道匹配的标准,例如,电子邮件匹配器将使用:/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,但我需要知道steam id将使用什么。

Demo Steam ID: STEAM_0:1:20206720

有人能给我一个关于STEAM ID的标准吗?

编辑:我使用的是pimvdb提供的正则表达式,但它仍然回答说steam id(STEAM_0:1:20206720)是不正确的。

我的代码如下:

代码语言:javascript
复制
function verifySteamID(){
    var elem = document.getElementById('item_name');
    var emailExp = /^STEAM_[0-5]:[01]:\d+$/;
    if(elem.value.match(emailExp)){
        document.getElementById("error").setAttribute("class", "hidden");
        return true;
    }else{
        document.getElementById("error").setAttribute("class", "unhidden");
        elem.focus();
        return false;
    }
    }

它由以下方式调用:

代码语言:javascript
复制
<input type="submit" value="Donate" id="donatebtn" onclick="return verifySteamID()" />
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-17 21:56:57

根据http://developer.valvesoftware.com/wiki/SteamID#Format的说法,它可能是这样的:

代码语言:javascript
复制
/^STEAM_[0-5]:[01]:\d+$/

^...$就是这样,精确的字符串必须匹配。

STEAM_是前缀。

前缀后面应该有一个从0到5的数字。

然后是:,后跟0或1。

然后是另一个:,后面跟着帐号。

票数 7
EN

Stack Overflow用户

发布于 2011-07-17 21:56:31

试试这个:

代码语言:javascript
复制
var input = "STEAM_0:1:20206720"; 
var isValid = /^STEAM_\d:\d:\d+$/.test(input); //true
票数 3
EN

Stack Overflow用户

发布于 2020-08-05 05:32:57

我知道这很旧,但是下面的RegEx表达式适用于我:^STEAM_[0-5]:[0-1]:[0-9]*$

工作原理:

  • ^STEAM_在SteamID.
  • [0-5]:的开头检查"STEAM_“字符串,查找0到5之间的整数,后跟”:“。
  • 对于[0-1]:.
  • [0-9]*$checks,同样的事情是所有下面的字符都是0到9之间的整数。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6724268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档