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



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

Demo Steam ID: steam_0:1:20 20206720

谁能给我一个STEAM id的标准?

编辑:我使用的是pimvdb提供的正则表达式,但它仍然回复蒸汽id(steam_0:1:20 20206720)是不正确的。

我的代码如下:

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

由:

调用
<input type="submit" value="Donate" id="donatebtn" onclick="return verifySteamID()" />

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

/^STEAM_[0-5]:[01]:d+$/

^...$只是为了精确的字符串必须匹配。

STEAM_为前缀。

前缀后必须有一个0 ~ 5之间的数字

:后接0或1

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

试试这个:

var input = "STEAM_0:1:20206720"; 
var isValid = /^STEAM_d:d:d+$/.test(input); //true

我知道这是旧的,但下面的RegEx表达式为我工作:^STEAM_[0-5]:[0-1]:[0-9]*$

工作原理:

  • ^STEAM_检查"STEAM_"
  • [0-5]:查找包含在0到5之间的整数,后面跟着":"
  • [0-1]:也是一样。
  • [0-9]*$检查以下字符是否为0到9之间的整数。

最新更新