gpt4 book ai didi

javascript - 灾难性回溯错误验证字符串

转载 作者:行者123 更新时间:2023-12-03 02:53:07 27 4
gpt4 key购买 nike

^([a-zA-Z0-9]+[._-]?)+[a-zA-Z0-9]+$

我已使用上面的正则表达式对以下场景的输入字符串执行验证。

  • 我只想允许使用连字符 ('-')、句点 ('.') 和下划线 ('_')

  • 名称不应以连字符(“-”)、句点(“.”)和下划线(“_”)开头或结尾

  • 名称不应包含空格

  • 不允许使用两个连续的特殊字符(来自 (._-) 集合)

我已经通过 JavaScript 验证了它。

但是,当我们在末尾添加具有特殊字符的名称时,浏览器会停止/挂起而不是返回 false。

var regex = new RegExp("^([a-zA-Z0-9]+[._-]?)+[a-zA-Z0-9]+$");
if (regex.test($('#txtBox1').val())) {//success}

最佳答案

不要在重复组中将这些特殊分隔符设置为可选:

^([a-zA-Z0-9]+[._-])*[a-zA-Z0-9]+$
# ^ ^

仍然匹配相同的内容,但它无法回溯以将可选字符应用到未出现的位置。

关于javascript - 灾难性回溯错误验证字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47753336/

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