我理解如何匹配但我不知道标准,例如,电子邮件匹配器会使用:/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
但我需要知道蒸汽ID将使用什么。
演示Steam ID:STEAM_0:1:20206720
有人可以给我一个STEAM ID标准吗?
编辑: 我正在使用pimvdb提供的正则表达式,但它仍然回复说蒸汽ID(STEAM_0:1: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()" />
答案 0 :(得分:4)
根据http://developer.valvesoftware.com/wiki/SteamID#Format,它可能类似于:
/^STEAM_[0-5]:[01]:\d+$/
^...$
只是为了确保字符串必须匹配。
STEAM_
是前缀。
在前缀后面应该有一个从0到5的数字。
然后是:
,后跟0或1。
然后是另一个:
,后跟帐号。
答案 1 :(得分:2)
试试这个:
var input = "STEAM_0:1:20206720";
var isValid = /^STEAM_\d:\d:\d+$/.test(input); //true
答案 2 :(得分:0)
我知道这很旧,但是以下RegEx表达式对我有用:
^STEAM_[0-5]:[0-1]:[0-9]*$
工作方式:
^STEAM_
在SteamID的开头检查“ STEAM_”字符串。[0-5]:
查找包含0到5之间的整数,后跟“:”。[0-1]:
相同。[0-9]*$
检查以下所有字符是否为0到9之间的整数。