我有一个textarea,用户可以在其中键入下划线。我想将他们键入的下划线转换为10个下划线的字符串。我希望这可以在他们输入时实时完成。
_ =>的 _ ___
我以为我可以做一些简单的事情:
的onkeyup: textarea.value.replace(/ _ * / g,“ _ ___ ”);
我的想法是它会匹配任何下划线字符串并自动将它们转换为10个下划线。
虽然我的行为很奇怪。键入下划线会产生20个下划线。此外,它似乎匹配我输入的任何字符的左右两侧。例如,如果我输入“A”,我会得到:
的 的 ___ A _ __ < / p>
有人知道如何正常工作吗?看起来很简单,但我很难过。感谢。
答案 0 :(得分:1)
使用/_+/
而不是/_*/
。正则表达式中的*
匹配零个或多个字符,因此它匹配下划线后面的空字符串并将其替换为10个下划线。 +
匹配一个或多个。
答案 1 :(得分:0)
将您的模式更改为/ _ {1,} /这将匹配_或 _ ,您之前的模式匹配_以及之后的任意数量的字符。