我需要使用以下条件的有效字符串
实际上,我想验证Active Directory的samAccountName。
我找到了this,但在使用javascript时无效。
答案 0 :(得分:2)
这应该有效:
var re = /^[^"\[\]:;\|=\+\*\?<>\/\\. ][^"\[\]:;\|=\+\*\?<>\/\\\n\r\t]{0,17}[^"\[\]:;\|=\+\*\?<>\/\\ \n\r\t]$/;
var sourcestring = "source string to match with pattern";
var results = [];
var i = 0;
for (var matches = re.exec(sourcestring); matches != null; matches = re.exec(sourcestring)){
results[i] = matches;
for (var j=0; j<matches.length; j++) {
alert("results["+i+"]["+j+"] = " + results[i][j]);
}
i++;
}
首先,它恰好匹配一个不在禁用组中的字符,而且不是&#39;#34; &#34;或&#34;。&#34;。然后它匹配0-17个字符,这些字符不在您的禁用组中。最后,它只匹配一个不在禁用组中的字符,而且不是&#39;#34; &#34;或&#34;。&#34;。
因此它匹配1-19个字符串中的字符串,该字符串符合允许的字符组,并且不具有任何空格或点。