栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Javascript正则表达式返回true ..然后是false ..然后是true ..等等

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Javascript正则表达式返回true ..然后是false ..然后是true ..等等

/^^-_[^-_]$/gi;

您正在使用

g
(全局)
RegExp
。在Javascript中,全局正则表达式处于状态:您第一次调用它们(使用
exec
test
等等),您将在给定字符串中获得第一个匹配项。再次调用它们,您将得到下一个匹配项,依此类推,直到没有匹配项,它将重置为下一个字符串的开头。您也可以写
regex.lastIndex=0
以重置此状态。

(这当然是绝对糟糕的设计,保证会造成混乱并引起奇怪的错误。欢迎使用Javascript!)

可以省略

g
从你的
RegExp
,因为你只测试了一场比赛。

另外,我认为您不需要

[^-_]
正面和背面。那将允许在每个末端的 任何
字符,即。
*plop!
将是有效的。您可能正在考虑超前/向后断言,但是它们在Javascript中不可用。(嗯,应该是超前的,但是在IE中是坏的。)建议:

/^[a-z0-9][a-z0-9_-]{2,18}[a-z0-9]$/i


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号