我知道如何匹配它,但我不知道标准,例如,电子邮件匹配器将使用:/^([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之间的整数。