gpt4 book ai didi

javascript - 正则表达式未按预期工作

转载 作者:行者123 更新时间:2023-12-02 07:43:06 24 4
gpt4 key购买 nike

这个正则表达式有什么问题?

/^[a-zA-Z\d\s&#-\('"]{1,7}$/; 

当我输入以下有效输入时,它失败了:

a&'-#"2

还要检查输入中的 2 个连续空格。

最佳答案

破折号需要转义 (\-) 或放在字符类的末尾,否则它将表示一个范围(如 A-Z),不是文字破折号:

/^[A-Z\d\s&#('"-]{1,7}$/i

会是一个更好的正则表达式。

N. B: [#-\(] 会匹配 #, $, %, &'(

要解决不允许两个连续空格的附加要求,请使用先行断言:

/^(?!.*\s{2})[A-Z\d\s&#('"-]{1,7}$/i

(?!.*\s{2}) 表示“断言不可能匹配(从当前位置开始)后跟两个空白字符的任何字符串”。一个警告:点不匹配换行符。

关于javascript - 正则表达式未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9099277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com