算法

太古盟约 2002-06-25 10:00:26
怎么实现输入a后变成z,输入b后变成y,输入c后变成x,.....输入z后变成a?
...全文
61 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiushuiwuhen 2002-06-25
  • 打赏
  • 举报
回复
<input onkeypress=trans()>
<script>
function trans(){
with(window.event){
if(keyCode>96&&keyCode<123)keyCode=219-keyCode
if(keyCode>64&&keyCode<91)keyCode=155-keyCode
}
}
</script>
太古盟约 2002-06-25
  • 打赏
  • 举报
回复
to: fokker(独孤龙)非常感谢
fokker 2002-06-25
  • 打赏
  • 举报
回复
a和z,b和y,c和x,.....的ascii码相加都是219,所以转换的时候用219减去字符s的ascii码s.charCodeAt(0),就能得到你想要的目标字符的ascii码,最后将这个ascii码使用String.fromCharCode()转化成字符。
上面的用法只是针对小写字符,转换大写字符的原理和这个一样,他们的和是155。 你要用的话自己做一些判断,分别用不同的数相减就行了。
太古盟约 2002-06-25
  • 打赏
  • 举报
回复
to: minitigger(阿修罗十三之雪)
outputChar='z'-inputChar+'a' 还是你的方法简单
to: fokker(独孤龙)
String.fromCharCode(219-s.charCodeAt(0))
也给解释一下吧
太古盟约 2002-06-25
  • 打赏
  • 举报
回复
to seabell(百合心) :
实现了但是我对substring 的用法还是不清楚。
Syntax

sSubstring = object.substringData(nOffset, nCount)
Parameters

nOffset Required. Integer that specifies the offset from which to start.
nCount Required. Integer that specifies the number of characters to extract.

substring是怎么取的值?例如输入a ,num=25,chars.substring(25,26),取了z.我想让num=event.keyCode-65;那么chars.substring(num,???) 怎么写?可能这么写不太对,给我讲讲吧
seabell 2002-06-25
  • 打赏
  • 举报
回复
未区分大小写
<script>
chars="abcdefghijklmnopqrstuvwxyz";
function convert(obj)
{
if(event.keyCode>64&&event.keyCode<91)
{num=25-(event.keyCode-65);
obj.value=obj.value.substring(0,obj.value.length-1)+chars.substring(num,num+1);
}
}
</script>
<input onkeyup=convert(this)>
seabell 2002-06-25
  • 打赏
  • 举报
回复
未区分大小写
<script>
chars="abcdefghijklmnopqrstuvwxyz";
function convert(obj)
{
if(event.keyCode>64&&event.keyCode<91)
{num=25-(event.keyCode-65);
obj.value=obj.value.substring(0,obj.value.length-1)+chars.substring(num,num+1);
}
}
</script>
<input onkeyup=convert(this)>
fokker 2002-06-25
  • 打赏
  • 举报
回复
function func(s){
return String.fromCharCode(219-s.charCodeAt(0))

}
minitigger 2002-06-25
  • 打赏
  • 举报
回复
outputChar='z'-inputChar+'a'
minitigger 2002-06-25
  • 打赏
  • 举报
回复
请讲解一下onKeydown,onKeyup,onKeypress的区别吧,谢谢了。
seabell 2002-06-25
  • 打赏
  • 举报
回复
qiushuiwuhen(秋水无恨)的方法很好,又学了一招,开始用onkeydown总是不行,原来应该用onkeypress啊
seabell 2002-06-25
  • 打赏
  • 举报
回复
楼主:如下
.substring(index1,index2)中,index1和index2分别指取子串的起始位置,从0开始
<script>
chars="abcdefghijklmnopqrstuvwxyz";
function convert(obj)
{
if(event.keyCode>64&&event.keyCode<91)
{
num=event.keyCode-65;
obj.value=obj.value.substring(0,obj.value.length-1)+chars.substring(25-num,26-num);
}
}
</script>
<input onkeyup=convert(this)>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧