前端页面试题答题区遇到()实现换行的方式

在一些题库系统中,很容易遇到分条作答的现象,当大量的答案都只通过一段话显示在一起的时候,很难让人分清楚条理,关键字也不明显,很容易出现错判断的现象,而通过括号大段的在一起也很难看,那么怎样才能实现分条作答的页面呢?

思路如下:

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;
}

猜你喜欢

转载自blog.csdn.net/ColourfulTiger/article/details/82769451