javascript - 以下情况的有效正则表达式是什么

标签 javascript regex active-directory

我需要符合以下条件的有效字符串

  • 必须小于 20
  • 不应包含任何此字符 "[ ] : ; | = + * ? < >/\,
  • 尾随 .不允许,但可以介于两者之间
  • 不允许尾随空格

实际上,我想验证 Active Directory 的 samAccountName。

我找到了this但与 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++;
}

一开始它只匹配一个不在禁止组中且不是“”或“.”的字符。然后它匹配不属于禁止组的 0-17 个字符。最后它精确匹配了一个不在禁止组中且不是“”或“.”的字符。

因此它匹配 1-19 个字符的字符串,该字符串符合允许的字符组并且没有跟踪空格或点。

关于javascript - 以下情况的有效正则表达式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36114040/

相关文章:

javascript - React 和无状态组件

javascript - 如何从数据库中的图像创建 jQuery slider ?

javascript - 匹配除 JavaScript 中特定模式之外的所有内容

python - Python 分隔连续字符串

javascript - JQuery slider : slide down the whole page

javascript - 为什么 Google Maps .getCenter() 返回无效坐标?

regex - 删除指定字符之间的所有内容,包括多行

c# - userAccountControl 属性在 AD 中如何工作? (C#)

azure - 在 Azure Active Directory 中使用自定义 OnPremisesSecurityIdentifier 修改或创建用户

c# - 如何找到当前用户具有 WriteProperty 访问权限的 ActiveDirectory 中的所有组?