您好,欢迎访问一九零五行业门户网

看到PHP的一道面试题, 做了上, 不知道还有没好点方法

看到php的一道面试题, 做了下, 不知道还有没好点方法
题目如下,
类似这样的aaasssddd字符串,写个函数cutstr($str,$max)实现截取:
1)如果$max大于$str的长度则返回$str
2)和不包含在长度计算范围。
例:
如果cutstr(aaasssddd,6) 则返回aaasss.
如果cutstr(aaasssddd,4) 则返回aaas,不包含标签
我的第一反应就是正则, 然后就...
var str = aaasssddd;function cutstr(str, max) { // 首先把和先给剔除, 然后记录他们的位置 var reg = new regexp((.*?)(.*?)(.*?)); var emsub = str.indexof(); var em2sub = str.indexof(); var newstr = str.replace(reg, $1$2$3); // 如果不是数字或是负数, 或者大于字符长度, 直接返回原字符 if (!/^\d+$/.test(max) || max >= newstr.length) return str; newstr = newstr.substring(0, max); if (max = str.length - 9) return str; else if(max > em2sub-4) return str.substring(0, max + 9); else if(max > emsub) return str.substring(0, max + 4); else return str.substring(0, max);} alert(cutstr(str, 7)); ?
其它类似信息

推荐信息