我在编写正则表达式时遇到问题。我怎样才能写出以下内容:
- 从可选的访问级别开始(1 到 5 之间的数字)
- 后跟一个空格
- 然后是由 3 到 5 个小写字母组成的用户名
- 后跟 3 到 5 位数字
- 然后是一个或多个空格
- 然后是四位数的密码
- 然后是一个或多个空格
- 再次使用相同的 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/