使滚动的正则表达式适应ID jQuery脚本以包含阿拉伯字符

用户名

我调整了滚动到ID的脚本,以在页面内容中查找h2标记,获取文本,将其连字符并将其作为ID添加到h2,然后创建h3滚动到的TOC目录列表侧栏中的-ID链接。

    if($('h2').length >0 ) {
        var ToC = '<h3 class="on-this-page">On this page</h3>' + '<nav role="navigation" class="table-of-contents widget_pages widget">' + '<ul>';
        var el, title, titleFull, hyphenatedTitle;
        $('h2').not(".not-on-this-page, .hotspot-title").each(function() {
            el = $(this);
            titleFull = el.text();
            title = el.text().replace(/[^\w\s]/g, '');
            hyphenatedTitle = title.replace(/ /g, '-');
            $(el).attr('id', hyphenatedTitle );
        var link = '#' + el.attr('id');
        var newLine = '<li>' + '<a href="' + link + '"' + ' rel="m_PageScroll2id"' + '>' + titleFull + '</a>' + '</li>';
        ToC += newLine;
        }); //end each
        ToC += '</ul>' + '</nav>';
        $('.on-this-page-toc-wrapper').append(ToC); // show table of contents in element with class "on-this-page-toc-wrapper"

我现在正在建立一个英文和阿拉伯文的网站。

该脚本以阿拉伯语间歇性工作,经检查,似乎为每个单词创建了一个带有一个连字符的ID,而不是在阿拉伯语单词之间创建了一个连字符。结果,脚本在页面上存在单词数不同的h2时起作用,但如果两个h2的单词数相同,则脚本不起作用。我很确定问题出在这行中的正则表达式:

title = el.text().replace(/[^\w\s]/g, '');

如何修改此脚本,使其与我的英语和阿拉伯语标题均适用?

非常感谢您的帮助。

维克多·史翠比维

问题是您要删除字符串中的所有标点符号,但[^\w\s]还要匹配阿拉伯字母和数字。

您可以使用修复以上代码

title = el.text().replace(/[\p{P}\p{S}]+/gu, '');

其中/[\p{P}\p{S}]+/gu匹配任何Unicode标点和符号。

您可以在regex101.com上对其进行测试

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使滚动的正则表达式适应ID jQuery脚本以包含阿拉伯字符

来自分类Dev

阿拉伯语正则表达式

来自分类Dev

正则表达式仅限阿拉伯字符和数字

来自分类Dev

jQuery grep,适应正则表达式

来自分类Dev

javascript正则表达式以匹配包含阿拉伯语特殊字符符号'ـ'的字符串u0640

来自分类Dev

如何使用正则表达式从字符串中仅检索阿拉伯文本?

来自分类Dev

iOS正则表达式阿拉伯语

来自分类Dev

没有任何数字的波斯(阿拉伯)字母的正则表达式

来自分类Dev

正则表达式阿拉伯语语音匹配

来自分类Dev

正则表达式:分隔标签接受阿拉伯语或英语

来自分类Dev

正则表达式中的范围用于阿拉伯字母

来自分类Dev

正则表达式删除所有英文和阿拉伯数字?

来自分类Dev

正则表达式与阿拉伯语匹配

来自分类Dev

用正则表达式匹配阿拉伯语文本

来自分类Dev

阿拉伯数字和空格仅正则表达式

来自分类Dev

正则表达式阿拉伯语语音匹配

来自分类Dev

尝试向工作的正则表达式添加阿拉伯数字支持

来自分类Dev

python 2.7中阿拉伯语单词的正则表达式

来自分类Dev

MVC 5阿拉伯数字实体正则表达式不起作用吗?

来自分类Dev

阿拉伯语和英语数字的正则表达式,以及国家/地区代码

来自分类Dev

jQuery正则表达式动态表达式

来自分类Dev

包含中的正则表达式

来自分类Dev

正则表达式包含变量

来自分类Dev

正则表达式包含路径

来自分类Dev

正则表达式“不包含”

来自分类Dev

正则表达式包含

来自分类Dev

包含中的正则表达式

来自分类Dev

正则表达式不包含

来自分类Dev

Javascript 正则表达式包含