我试图改变(显示器)*到italic点击按钮时,来自用户的输入textarea的风格.但是没有任何工作没有错误,我认为我的逻辑有点不对,但不能再想了!!!
var italic = 0;
$("#btn").click(function(){
var val = $("#usr").val();
val.split("").forEach(function(v,i){
var sts = /\*/g.test(v);
if(sts){
if(italic == 1){
val.substr(0, i) + '</i>' + val.substr(i + 1);
italic = 0;
}
else{
val.substr(0, i) + '<i>' + val.substr(i + 1);
italic++;
}
}
});
$("#display").html(val);
});Run Code Online (Sandbox Code Playgroud)
#display {
background: #aaa;
width: 30%;
height: auto;
border: 1px solid #ded;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<textarea id="usr"></textarea>
<button id="btn">Insert</button>
<div id="display"></div>Run Code Online (Sandbox Code Playgroud)
使用simple \*(.*?)\*来包装<i>标记中的输出:
$(document).ready(function() {
$('textarea').keyup(function() {
$('#output').html($(this).val().replace(/\*(.*?)\*/g, '<i>$1</i>'));
})
})Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea></textarea>
<div id="output"></div>Run Code Online (Sandbox Code Playgroud)
RegEx解释说:
\*- literal *(*在RegEx中表示任何字符)
.*?- 任何字符
()- 后来可以使用的捕获组$1,$2...((.*?)- 捕获任何字符)
/- RegEx分隔符(可以是任何字符)
\*(.*?)\*- 匹配角色*,直到找到任何角色*
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |