gpt4 book ai didi

javascript - 使用javascript匹配id选择器的正则表达式

转载 作者:行者123 更新时间:2023-11-28 21:03:41 26 4
gpt4 key购买 nike

在我的程序中,我想验证 html 标签的 id..对于我的函数,id 作为字符串传递,前面带有 #..我发现,HTML 中命名和 id 的规则是,

  • 必须以字母 A-Z 或 a-z 开头
  • 后面可以是:字母 (A-Za-z)、数字 (0-9)、连字符 ("-") 和下划线 ("_")所以我写了下面的正则表达式。

    /(^|\s)(#{1})([a-zA-Z])([^a-zA-Z0-9]{0})/g;

但是它给了我错误的结果。我的正则表达式有什么问题?

最佳答案

/#[a-z][\w\d-]*\b/gi
  • \w 表示字母 a-z、A-Z 和下划线 (_)
  • \d 表示 0-9 的整数
  • \b 表示单词边界
  • i 标志用于捕获第一个字母,无论大小写

编辑:抱歉忘记了组开头的边界。

var str = '#sss #s23 dd#ww';
// #ww will be omitted because # is not the
// first char in the char group there.
var rx = /(^|\s)(#[a-z][\w\d-]*)\b/gi;
var arr = [];
str.replace(rx, function(){arr.push(arguments[2])});
// this is just to catch the id's.
// it won't modify str.
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}

关于javascript - 使用javascript匹配id选择器的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10391140/

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