Javascript RegEx用一串下划线替换单个下划线

时间:2014-02-28 01:25:31

标签: javascript html regex textarea

我有一个textarea,用户可以在其中键入下划线。我想将他们键入的下划线转换为10个下划线的字符串。我希望这可以在他们输入时实时完成。

_ =>的 _ ___

我以为我可以做一些简单的事情:

的onkeyup: textarea.value.replace(/ _ * / g,“ _ ___ ”);

我的想法是它会匹配任何下划线字符串并自动将它们转换为10个下划线。

虽然我的行为很奇怪。键入下划线会产生20个下划线。此外,它似乎匹配我输入的任何字符的左右两侧。例如,如果我输入“A”,我会得到:

___ A _ __ < / p>

有人知道如何正常工作吗?看起来很简单,但我很难过。感谢。

2 个答案:

答案 0 :(得分:1)

使用/_+/而不是/_*/。正则表达式中的*匹配零个或多个字符,因此它匹配下划线后面的空字符串并将其替换为10个下划线。 +匹配一个或多个。

答案 1 :(得分:0)

将您的模式更改为/ _ {1,} /这将匹配_或 _ ,您之前的模式匹配_以及之后的任意数量的字符。