在一些题库系统中,很容易遇到分条作答的现象,当大量的答案都只通过一段话显示在一起的时候,很难让人分清楚条理,关键字也不明显,很容易出现错判断的现象,而通过括号大段的在一起也很难看,那么怎样才能实现分条作答的页面呢?
思路如下:
1、给出规范,如遇到()代表答案内容中的一条;
2、推测特殊情况,考虑细节,当给出的1中情况出现其他特殊情况时,该怎样解决,使用正则表达式判断;
3、仿编译原理,字符化解决问题,大事化小,小事化了。
实例:遇到()分条显示,()内为文字则不换行,非文字则换行。
代码如下:
//换行效果实现
function NewLine(values) {
var i;
var result = "";
var c;
var reg = /^[\u4e00-\u9fa5],{0,}$/;
for (i = 0; i < values.length; i++) {
c = values.substr(i, 1);
b = values.substr(i+1,1);
if(c == "(" || c == "("){
if((i>1)&&(b!="\r")){
if(!reg.test(b)){
result = result + "</br>" + c;
}else{
result = result + c;
}
}else{
result = result + c;
}
}else{
result = result + c;
}
}
return result;
}