我的程序代码为ASCII的正常文本。一切都很好,除了解码不起作用。怎么了?
另外,我不希望在打印编码文本时出现逗号。哦,我也想包括凯撒密码。
function code() {
var leer = document.getElementById('1').value,
array = [];
for (var i = 0; i < leer.length; i++) {
array[i] = leer[i].charCodeAt(0);
}
document.getElementById('2').innerHTML = 'Chale, chale ' + array;
}
function decode() {
var leer = document.getElementById('1').value,
array = [];
for (var i = 0, char; char = leer[i]; i++) {
array[i] = String.fromCharCode(leer[i].charCodeAt(0));
}
document.getElementById('2').innerHTML = 'Chale, chale ' + array;
}
<form>
Escriba el Mensaje:<br><br>
<input type="text" id="1" name="mensaje" rows="10" cols="40">
<br><br>
<br><br> Elige una opción:
<br><br>
<input type="button" name="cifra" value="Cifrar" onclick="code()">
<input type="button" name="decifra" value="Decifrar" onclick="decode()">
<br><br>
<textarea id="2" rows="5" cols="40"></textarea>
</form>
您应该在解码函数中使用字符串而代替数组
function decode() {
var leer = document.getElementById('1').value,
str = "";
for (var i = 0, char; char = leer[i]; i++) {
str += String.fromCharCode(leer[i].charCodeAt(0));
}
document.getElementById('2').innerHTML = 'Chale, chale ' + str;}
您可以使用arrayname.join('');这是工作片段。
function code() {
var leer = document.getElementById('1').value,
array = [];
//debugger;
for (var i = 0; i < leer.length; i++) {
array[i] = leer[i].charCodeAt(0);
}
document.getElementById('2').innerHTML = 'Chale, chale ' + array.join(' ');
}
function decode() {
var leer = document.getElementById('1').value,
array = [];
//debugger;
for (var i = 0, char; char = leer[i]; i++) {
array[i] = String.fromCharCode(leer[i].charCodeAt(0));
}
document.getElementById('2').innerHTML = 'Chale, chale ' + array.join(' ');
}
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="exCSS.css">
</head>
<body>
<form>
Escriba el Mensaje:<br><br>
<textarea id="1" rows="10" cols="40"></textarea>
<br><br>
<br><br> Elige una opción:
<br><br>
<input type="button" name="cifra" value="Cifrar" onclick="code()">
<input type="button" name="decifra" value="Decifrar" onclick="decode()">
<br><br>
<textarea id="2" rows="5" cols="40"></textarea>
</form>
</body>
</html>
希望,这将对您有所帮助。谢谢:)
function code() {
var leer = document.getElementById('1').value,
array = [];
//debugger;
for (var i = 0; i < leer.length; i++) {
array[i] = leer[i].charCodeAt(0);
}
document.getElementById('2').innerHTML = 'Chale, chale ' + array.join('');
}
function decode() {
var leer = document.getElementById('1').value,
array = [];
//debugger;
for (var i = 0, char; char = leer[i]; i++) {
array[i] = String.fromCharCode(leer[i].charCodeAt(0));
}
document.getElementById('2').innerHTML = 'Chale, chale ' + array.join('');
}
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="exCSS.css">
</head>
<body>
<form>
Escriba el Mensaje:<br><br>
<input type="text" id="1" />
<br><br> Elige una opción:
<br><br>
<input type="button" name="cifra" value="Cifrar" onclick="code()">
<input type="button" name="decifra" value="Decifrar" onclick="decode()">
<br><br>
<textarea id="2" rows="5" cols="40"></textarea>
</form>
</body>
</html>