javascript - 查找所有以英文字母数字字符开头并以英文字符结尾的文本,并使用 jQuery 将它们放在 <span> 标签内

标签 javascript jquery html css regex

有一个页面,该页面的大部分文本都是波斯语,具有特定的字体。 页面中有一些网站和电子邮件地址。一些电子邮件地址和网站包含数字。但由于字体,这些数字显示为波斯语而不是英语。 页面中的所有数字都必须是波斯语,但电子邮件和网站地址中的数字必须是英语。

例如我有:

<div>
شرکت شماره 2 در وب سایت
wwww.web2.com
info@web2.com
2web.com
2web2web.com
22344web.com
</div>

这样的事情会解决我的问题:

CSS:

div span{font-family:arial;direction:ltr;}

第一个 HTML 解决方案:

<div>
شرکت شماره 2 در وب سایت
<span>wwww.web2.com</span>
<span>info@web2.com</span>
<span>2web.com</span>
<span>2web2web.com</span>
<span>22344web.com</span>
</div>

第二个 HTML 解决方案:

<div>
شرکت شماره 2 در وب سایت
wwww.web<span>2</span>.com
info@web<span>2</span>.com
<span>2</span>web.com
<span>2</span>web<span>2</span>web.com
<span>22344</span>web.com
</div>

我希望“شرکت شماره 2 در وب ساوت”看起来像实现的字体 (B Yekan) 一样显示“2”,但其他数字显示为 Arial 字体。

页面中有很多杂乱无章的文本。我需要一个 jQuery 代码来构成我的解决方案之一。 关于此 jQuery 代码或更好的想法有什么建议吗?

最佳答案

你可以这样做(jsfiddle):

var regex = /\d+/g,
    div = $('div'),
    newHtml = div.html().replace(regex, function(match) { 

        return '<span>'+match+'</span>'

    });

div.html(newHtml);

正则表达式将捕获所有出现的 1 个或多个数字字符。传递给 replace 方法的回调会将每个匹配的数字字符串包装在 span 元素中。

最后,新的 HTML 被设置为 div 元素的 HTML。

关于javascript - 查找所有以英文字母数字字符开头并以英文字符结尾的文本,并使用 jQuery 将它们放在 <span> 标签内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22530934/

相关文章:

javascript - ionic 应用程序崩溃问题

javascript - 无法在 AngularJS 中创建动态对象数组

jquery - 在函数中使用 jQuery 的 this 对象

javascript - AngularJS 中的 lightGallery(jQuery 插件)

javascript - 检测特定属性的可用 css 值

javascript - 如何使 Javascript Tampermonkey 脚本搜索同一单词的小写和大写字符

JQuery 显示/隐藏其他更改

javascript - 显示从 mysql 数据库检索到的模态字段中的数据

javascript - 检查任何网址是否为真

javascript - 一组单选按钮上的 onfocus 事件如何像单个控件一样工作?