js实现字符串处理,具体如下:字母变成相邻字母,标点符号不变,结果如果是元音字母则大写,z变成a。

<script type="text/javascript">

function LetterChanges(str) {
  str=str.split("");//将字符串变成数组
  for(i=0;i<str.length;i++){
    str[i]=str[i].charCodeAt();//将数组里的字符变成ASCll码
    if(str[i]>64&&str[i]<122){//通过ASCll码判断字符的类型,用分支结构将其分类处理
      if(str[i]==100||str[i]==104||str[i]==110||str[i]==116){//这是元音字母,需要大写
        str[i]=String.fromCharCode(str[i]-31);
      }
      else if(str[i]>96||str[i]<90){//这些不是元音字母,也不是标点符号,将其ASCll加1
        str[i]=String.fromCharCode(str[i]+1);
      }
      else if(str[i]==90){//Z变成A
        str[i]="A";
      }
      else{
        str[i]=String.fromCharCode(str[i]);//这些是标点符号,不做改变
      }
    }
    else{
      if(str[i]==122){//z变成a
        str[i]="a"
       }
      else{
        str[i]=String.fromCharCode(str[i]);//这些全是标点符号,也许标点符号形容得不贴切,反正他们不是字母
      }
    }
  }
    str=str.join("");//将处理好的数组变回字符串
    return str;
}
var ceshi=LetterChanges("zZ{aA[\`'ment goes here");//取边界值测试
document.write(ceshi);
</script>

posted on 2017-09-26 16:58  杨二凡  阅读(382)  评论(0编辑  收藏  举报

导航