| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 874 人关注过本帖
标题:哪位大虾帮小弟看看这段代码呀。
只看楼主 加入收藏
Lucifer_0
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-1
结帖率:50%
收藏
 问题点数:0 回复次数:8 
哪位大虾帮小弟看看这段代码呀。
<html>
<head>
    <title>Needless</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link type="text/css" rel="stylesheet" href="./style.css">
</head>
<body alink="gold" background="./dot.gif" bgcolor="#000000" link="gold" text="#008000" vlink="#00c000">
<center>
<table border="0">
</table>
<table width="668" border="0" cellpadding="3" cellspacing="3" class="main">
  <tr>
 
  </tr>
<tr><td>
<center><h1>Needless</h1></center>
<br>
<div style="align:left;margin-left:20px;font-size: 15px;font-family:'Courier New'">
<br>
<font color='red'>Key Words:</font>Nothing<br>
<br><br>
<div style="margin-left:50px;color: #00ff00">

<br>
    <form name="doit" action="javascript:b()">
    <p align="center">
       <input type="text" name="number" maxlength="20" size="20">&nbsp;
        <input type="submit" value="OK">
        <br>
    </form>
    <font >请输入一个六位数的数字.<br><br>记住,你要的是"Key"而非其它!</font>
</center>

<script language="javascript">
var chr = "278330|278369|278317|278386|278313|278382|278367|278313|278375|278382|278365|278381|278369|278317|278340|278366|278386|278323|278297|278348|278365|278349|278308|278322|278300|278321|278314|278339|278364|278298|278329|278316|278317|";
var str = "";

function a( arg )
{
    var i,k;
    i = "";
    for( k = 0; k < chr.length; k ++ )
    {
        if( chr.charAt(k) == '|' )
        {
            i -= arg;
            str += String.fromCharCode(i);
            i = "";
        }
        else
        {
            i += chr.charAt(k);
        }
    }
}
function b()
{
    str = "";
    a( doit.number.value );
    alert( str );
}

</script>
</div>
</table><br>
<br><br>
</table>
  <br>
  <br>
</center>
</body>
</html>

本人纯色小白,望大虾帮我看看中间那么长一段数字代码 是 怎么翻译的 。
多谢啊!
搜索更多相关主题的帖子: 代码 
2010-04-14 08:27
frankqnj
Rank: 4
等 级:贵宾
威 望:12
帖 子:320
专家分:278
注 册:2008-4-6
收藏
得分:0 
很优雅的代码 不知道你哪里不明白
代码的逻辑就是
用 | 分割的每组数字 减去 你输入的六位数字 然后得到一个数 用这个数  通过String.formCharCode(数) 获取到对应其字符码的 字符.
然后把每个字符相加 获取一个长的字符串输出.

我觉得作者可能是 C++程序员出身 其实个功能可以吧代码写的很短 而且这段代码是 只能在ie下跑的. 倒不是算法本身 主要问题在于 取element元素的方法时不对的.
修改后的代码

    var chr = [278330, 278369, 278317, 278386, 278313, 278382, 278367, 278313, 278375, 278382, 278365, 278381, 278369, 278317, 278340, 278366, 278386, 278323, 278297, 278348, 278365, 278349, 278308, 278322, 278300, 278321, 278314, 278339, 278364, 278298, 278329, 278316, 278317];
    function b() {
        var v = document.forms[0].getElementsByTagName('input')[0].value;
        alert(new Array(chr.length + 1).join().replace(/,/g, function(m, n) { return String.fromCharCode(chr[n]-v); }));
    }
2010-04-15 02:16
frankqnj
Rank: 4
等 级:贵宾
威 望:12
帖 子:320
专家分:278
注 册:2008-4-6
收藏
得分:0 
或者 在不改变原数据的前提下  完全依靠正则表达式 来做 代码如下

    var chr = "278330|278369|278317|278386|278313|278382|278367|278313|278375|278382|278365|278381|278369|278317|278340|278366|278386|278323|278297|278348|278365|278349|278308|278322|278300|278321|278314|278339|278364|278298|278329|278316|278317|";
    function b() {
        var v = document.forms[0].getElementsByTagName('input')[0].value;
        alert(chr.replace(/([\d]{6})\|/g, function(m, n) { return String.fromCharCode(n - v); }));
    }
2010-04-15 11:19
ghost2010
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-13
收藏
得分:0 
/g指什么呀,忘了。
2010-04-16 17:23
gabrk1985
Rank: 1
等 级:新手上路
帖 子:27
专家分:7
注 册:2009-8-25
收藏
得分:0 
<i>ww</i>
2010-04-16 17:43
gabrk1985
Rank: 1
等 级:新手上路
帖 子:27
专家分:7
注 册:2009-8-25
收藏
得分:0 
wwwwwwwwwwwwwwwwwwwww
2010-04-16 17:57
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:0 
LS疯子 鉴定完毕
2010-04-17 01:21
foktime
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:奥斯维辛
等 级:贵宾
威 望:35
帖 子:795
专家分:2742
注 册:2009-9-4
收藏
得分:0 
/g:全局
aspic最近很忙啊 不怎么来 找工作么在
2010-04-17 13:09
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:0 
是在找工作啊 失业半个月了……
2010-04-17 19:52
快速回复:哪位大虾帮小弟看看这段代码呀。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041429 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved