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>