js控制一个字符串中某个字体的颜色和拼音首字母转汉字
/*
*方法说明:
*将用户输入的关键字与后台返回的字符串进行匹配,匹配成功的字符加上: '<span></span>',
*支持拼音首字母转汉字。
*
@method addSpan
*
@param
{string} k 用户输入的关键字:w 或者 我
{string} question 后台返回的问题字符串:我国第一部系统分析字形和考求字的本义的字典是
{string} initials 后台返回关联问题的拼音首字母字符串:WGDYBXTFXZXHKQZDBYDZDS
{string} answer 后台返回的答案字符串:说文解字
*
@return {html} :<span>我</span>国第一部系统分析字形和考求字的本义的字典是
*/
function addSpan(k,question,initials,answer){ //标红
var reg= /^[A-Za-z]+$/;
var text ;
if (!reg.test(k)){ //判断是否符合正则表达式
var reg1=new RegExp("[" + k + "]", 'g');//匹配输入的是汉字、数字
text = question.replace(reg1, function (word) {
return '<span>' + word + '</span>';
});
}else{
var _k = k.toUpperCase();
var _starIndex = initials.indexOf(_k);
var _endIndex = _k.length+_starIndex;
var _substring = question.substring(_starIndex,_endIndex);
var reg2=new RegExp("[" + _substring + "]", 'g');//
text = question.replace(reg2, function (word) {
return '<span>' + word + '</span>';
});
}
$("#question-anwser-wrap").append('<div class="question-anwser">'
+'<div class="question-div"><img class="icon-question" src="images/ico_question.png" alt=""/>'
+'<p>'+text+'</p></div><div class="anwser-div">'
+'<img class="icon-anwser" src="images/ico_anwser.png" alt=""/>'
+'<p>'+answer+'</p></div></div>')
}
效果图: