//用惯了 VB 系列语法的 instr 和 mid 函数,在 js 里面处理字符串总是感觉束手束脚
//跟 Basic 语法比起来,其他语言的字符串处理函数的确非常不方便!!!因此,必须自己写个仿 Basic 语法的 javascript 的常用字符串处理函数库来用!!!
// 以下是经过多次修正,便于 js 处理字符串的函数
function trim(s){return s.replace(/(^\s*)|(\s*$)/g,"");} //清除字符串 s 前后英文空格 function revright(s,l){ //从 s 中从左侧取去除 l 长度右侧字符串的字符串 var sl=len(s); return mid(s,1,sl-l); } function right(s,l){ //从 s 中从右侧取 l 长度的字符串 var sl=len(s); return mid(s,sl-l+1,l); } function left(s,l){ //从 s 中从左侧取 l 长度的字符串 return mid(s,1,l); } function instr(str,s){ //在 str 中查找字符串 s 第一次出现的位置,从左侧起计,起点为 1 var dotn=str.indexOf(s); if(dotn<0){return 0;}else{return (dotn*1+1);} } function instrRev(str,s){ //在 str 中从右侧起查找字符串 s 第一次出现的位置,位置从左侧起计,起点为 1 var dotn=str.lastIndexOf(s); if(dotn<0){return 0;}else{return (dotn*1+1);} } function len(s){ //返回字符串 s 的长度,数字则以十进制长度计 if(isUndefined(s)){return 0;}//参数不足 if(isNaN(s)){//非数字isNaN var sln=s.length; }else{ //数值转字符 var str=s.toString(10); var sln=str.length; } return sln; } function mid(str,s,l){ //从字符串 str 中从 s 位置起取 l 长度的字符串,起点为 1,忽略参数 l 则取自 s 位置起的后面全部字符串 var outstr=''; if(isUndefined(s)){return '';}//参数不足 if(isUndefined(str)){return '';}//参数不足 var sln=str.length; if(isNaN(s)){return '';}//参数非法 //console.log(isNaN(s)); s=s*1; if(isUndefined(l)){ //非数字isNaN if(s>sln ){ //起点大于长度 return ''; }else{ if((s-1)>sln ){//空 return ''; }else{ for(var i=s;i<sln+1;i++){ //没有长度信息,取到完 outstr+=str.charAt(i-1);//charAt从0计字符串,故要减一 } return outstr; } } }else{ if(isNaN(l)){ //非数字 if(s>sln ){ //起点大于长度 return ''; }else{ if((s-1)>sln ){//空console.log(sln); return ''; }else{ for(var i=s;i<sln+1;i++){ //没有长度信息,取到完 outstr+=str.charAt(i-1);//charAt从0计字符串,故要减一 } return outstr; } } }else{ l=l*1; if(s>sln ){ //起点大于长度 return ''; }else{ if((s+l-1)>sln ){//起点加长度减1大于长度,只取剩余字符,取到完 for(var i=s;i<sln+1;i++){ outstr+=str.charAt(i-1);//charAt从0计字符串,故要减一 } return outstr; }else{ for(var i=s;i<(s+l);i++){ //正常取法console.log(sln); outstr+=str.charAt(i-1);//charAt从0计字符串,故要减一 } return outstr; } } } } } function isUndefined(value){ //获得undefined,保证它没有被重新赋值 var undefined = void(0); return value === undefined; }
标签:trim,function,right,return,instr,mid,else,var,字符串 From: https://www.cnblogs.com/jessezappy/p/17295771.html