Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以下案例的有效正则表达式是什么_Javascript_Regex_Active Directory - Fatal编程技术网

Javascript 以下案例的有效正则表达式是什么

Javascript 以下案例的有效正则表达式是什么,javascript,regex,active-directory,Javascript,Regex,Active Directory,我需要使用以下条件创建有效字符串 必须小于20 不应包含任何此类字符 “[]:;|=+*?/\ 尾随。不允许,但可以介于两者之间 不允许有尾随空格 实际上,我想验证Active directory的samAccountName 我发现它在与javascript一起使用时无效。这应该可以: var re = /^[^"\[\]:;\|=\+\*\?<>\/\\. ][^"\[\]:;\|=\+\*\?<>\/\\\n\r\t]{0,17}[^"\[\]:;\|=\+\*

我需要使用以下条件创建有效字符串

  • 必须小于20
  • 不应包含任何此类字符 “[]:;|=+*?<>/\
  • 尾随。不允许,但可以介于两者之间
  • 不允许有尾随空格
实际上,我想验证Active directory的samAccountName

我发现它在与javascript一起使用时无效。

这应该可以:

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++;
}
var re=/^[^”\[\]:;\\[\]=\+\*?\/\.][^”\[\]:;\\\\;=\+\*?\/\\\n\r\t]{0,17}[^”\[\]:;\\\\+\*?\/\\\\\\\\\\ n\r\t]$/;
var sourcestring=“要与模式匹配的源字符串”;
var结果=[];
var i=0;
for(var matches=re.exec(sourcestring);matches!=null;matches=re.exec(sourcestring)){
结果[i]=匹配项;
对于(var j=0;j而言,这应该是可行的:

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++;
}
var re=/^[^”\[\]:;\\[\]=\+\*?\/\.][^”\[\]:;\\\\;=\+\*?\/\\\n\r\t]{0,17}[^”\[\]:;\\\\+\*?\/\\\\\\\\\\ n\r\t]$/;
var sourcestring=“要与模式匹配的源字符串”;
var结果=[];
var i=0;
for(var matches=re.exec(sourcestring);matches!=null;matches=re.exec(sourcestring)){
结果[i]=匹配项;

对于(var j=0;jYou确实找到了一个很好的链接,但您是否尝试解决此问题?我尝试用修复错误,但结果证明验证无效。我将63改为20。但它传递了任意长度。我真的不理解正则表达式:-)对于me@veshu是我的正则表达式(见下面的答案)为您工作?您使用哪种语言编写代码?这是从正则表达式开始的好地方。@netblognet我正在测试,我需要它使用JavaScript进行测试。您确实找到了一个好的链接,但您是否尝试解决此问题?我试图用它修复错误,但结果验证无效。我将63改为20。但它通过了任何len我真的不懂正则表达式:-)对我来说非常复杂me@veshu是我的正则表达式(见下面的答案)为您工作?您使用哪种语言编写代码?这是从正则表达式开始的好地方。@我正在测试netblognet,我需要它来使用javascriptI进行测试。我正在测试您的正则表达式。我测试了两个问题后,将它连接到passess。看不出为什么“测试”是否在无效数组中?第二个问题。是否是指前导空格和尾随空格而不是尾随空格?重新编辑了我的示例。请重试。现在它应该适合。测试是随机文本,可以是任意文本,是的,我指的是两端。否,我指的是“测试”没有前导空格和尾随空格。它位于无效数组中,但我认为它是有效的输入。不过,请重试上面的正则表达式。它现在应该可以工作了。我正在测试你的正则表达式。在我测试了两个问题后,它就通过了。看不出为什么要“测试”是否在无效数组中?第二个问题。是否是指前导空格和尾随空格而不是尾随空格?重新编辑了我的示例。请重试。现在它应该适合。测试是随机文本,可以是任意文本,是的,我指的是两端。否,我指的是“测试”没有前导空格和尾随空格。它位于无效数组中,但我认为它是有效的输入。不过,请重试上面的正则表达式。它现在应该可以工作了。