我一直在研究一个问题,我必须使用一个JS函数来重新定义包含一些文本的DIV元素中的所有数字。例如,如果句子是“我有56个苹果”,56应该带有下划线,这是我所做的jsfiddle链接:https://jsfiddle.net/2v43yonz
#number { /* this is the style for verb encodings */
text-decoration: underline;
}
请在jsfiddle上找到其余的代码。
答案 0 :(得分:1)
你真的很亲密,你的正则表达只是一点点。
我将其替换为:var txt = str.replace(/\d+/, '<span id="'+s+'">\$&</span>');
在第20行附近。
正则表达式:/\d+/
表示匹配1个或多个数字字符。
https://jsfiddle.net/2v43yonz/1/
我再次看到你的小提琴,看到你试图用makeRegExp
做什么。问题在于你用字边界包裹每个字符串,所以它只匹配一个数字。
请查看此修补程序:https://jsfiddle.net/2v43yonz/2/
也许你想在搜索单词时这样做,但它不适用于这种情况。