我有一个textarea,一个按钮和一个div
function showres() {
var text = document.getElementById('mytext');
var result = document.getElementById('resulthere');
result.innerHTML = text.value;
}
<textarea name="mytxt" id="mytext"></textarea>
<button onclick="showres()">Click Me</button>
<div id="resulthere"></div>
单击按钮
,显示div上textarea的值
如果我在textarea中输入两个*之间的字符串,我想在div上显示粗体文本
例如,我输入Hello *Mike*
在div
答案 0 :(得分:2)
这可以使用Regex实现。
function showres() {
var text = document.getElementById('mytext').value;
var result = document.getElementById('resulthere');
text.match(/\*([\w\s\d]+)?\*/g).forEach(function(match) {
var str = match.substring(1, match.length - 1);
text = text.replace(match, "<b>" + str + "</b>");
});
result.innerHTML = text;
}
document.getElementById('mytext').value = "this is *bold*";
showres();
&#13;
<textarea name="mytxt" id="mytext"></textarea>
<button onclick="showres()">Click Me</button>
<div id="resulthere"></div>
&#13;
答案 1 :(得分:1)
您可以使用正则表达式匹配粗体模式:
var yourString = 'something left *bold text 123*';
var regex = /\*([\w\s\d]+)?\*/g;
var matches = yourString.match(regex);
// matches = ['*bold text 123*']
然后您可以使用替换功能来替换匹配的patern!
for (var i = 0; i < matches.length; i++) {
yourString = yourString.replace(matches[i], yourBoldString);
}
测试您的正则表达式