javascript - 将字符串匹配要求转换为正则表达式

标签 javascript regex

我在编写正则表达式时遇到问题。我怎样才能写出以下内容:

  1. 从可选的访问级别开始(1 到 5 之间的数字)
  2. 后跟一个空格
  3. 然后是由 3 到 5 个小写字母组成的用户名
  4. 后跟 3 到 5 位数字
  5. 然后是一个或多个空格
  6. 然后是四位数的密码
  7. 然后是一个或多个空格
  8. 再次使用相同的 PIN 码进行确认..

如果信息有效,则显示一条警告“谢谢”。否则“输入的信息不正确。”

我写了以下内容,但它不能正常工作:

reg=/^(\d{1,5})?/s ([a-z]{3,5}\b\d{3,5}\s) \s\1 $/;

如果有任何帮助,我将不胜感激。

最佳答案

好的,按照您的指示不折不扣(我不相信这是您真正想要的),您可以使用:

/^[1-5]?\s[a-z]{3,5}\d{3,5}\s+(\d{4})\s+(\1)$/

将其分解为:

  • 行首

  • 1 到 5 之间的单个数字(可选)

  • 空格(严格来说是任何空格)

  • 3 到 5 个小写字母

  • 3 到 5 位数字

  • 至少一个空格

  • 正好 4 位数字

  • 至少一个空格

  • 相同的 4 位数字模式(\1 在这里很关键)

  • 行尾

    您引入了错误的访问级别模式、随机断词,并且未能正确捕获多个空格,这就是您的模式失败的地方。

关于javascript - 将字符串匹配要求转换为正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1099939/

相关文章:

Javascript for ... in循环对象不在最后一个属性上运行

javascript:如何通过名称字符串调用 var?

JavaScript 正则表达式问题

javascript - 结合正则表达式,匹配两者,两者都不匹配

javascript - JQuery Ajax 成功未被触发

javascript - HTML 视频播放器对于某些文件出现故障

javascript - 获取文本直到第一个<br/>

javascript - 匹配多个值并将重复值替换为一个值

javascript - $.contents() 元素的串联

php - php 是否有任何特殊字符类,如 [ :alnum:] for regex expressions?