JavaScript数字到字母
我最近一直在尝试编写一个问题代码,其中一些JS代码将字母转换为数字,例如1=a 我当前的代码如下所示(使用HTML脚本标记):JavaScript数字到字母,javascript,Javascript,我最近一直在尝试编写一个问题代码,其中一些JS代码将字母转换为数字,例如1=a 我当前的代码如下所示(使用HTML脚本标记): 字母数字#: 转换的#: 但是,每当我尝试将对应于x(24)的数字转换为字母时,它会给出“bd”,因为它分别处理2和4。有没有一种简单的方法可以阻止这种情况,这样当我输入24时,它会产生“x”?试试这个: String.fromCharCode(96+24) 您可以将24替换为其他数字。当您循环输入时,您调用的是input.charAt(i),但一次只能提取一个字
字母数字#:
转换的#:
但是,每当我尝试将对应于x(24)的数字转换为字母时,它会给出“bd”,因为它分别处理2和4。有没有一种简单的方法可以阻止这种情况,这样当我输入24时,它会产生“x”?试试这个:
String.fromCharCode(96+24)
您可以将24替换为其他数字。当您循环输入时,您调用的是
input.charAt(i)
,但一次只能提取一个字符。如果你想让它拉一个两位数的数字,你需要写代码这样做。否则,每次读取和处理一位数字
拉动单个字符时,请检查它是否介于0和9之间(包括0和9)。如果是,在将所需字符串传递到
开关之前,循环下两个字符并构建所需字符串,这样您就可以获得所需的多位数输入。您应该执行以下操作:
function covert(input)
{
var alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
var nums=["1","2","3","4","5","6","7","8","9","1-0","1-1","1-2","1-3","1-4","1-5","1-6","1-7,"1-8","1-9","2-0","2-1",2-2","2-3","2-4",2-5",2-6"]
var letters = input.lowerCase().split("");
for(var i=0;i<letters.length;i++)
if(letters[i].lowerCase != letters[i].toUpperCase()) //Checking if it's a letter
phonenumber+=toString(alphabet.indexOf(letter[i])+1;);
var dashesAndNum=input.replace(/[A-Za-z],' ').split(" ");
for(var i=0;i<dashesAndNum.length;i++)
if(dashesAndNum[i] == "0" || dashesAndNum[i] == "-")
phonenumber+=dashesAndNum[i];
else
phonenumber+=alphabet[num.indexOf(dashesAndNum[i])];
document.myform.number.value = phonenumber;
return true;
}
功能转换(输入)
{
变量字母表=[“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z”];
变量nums=[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“1-0”、“1-1”、“1-2”、“1-3”、“1-4”、“1-5”、“1-6”、“1-7”、“1-8”、“1-9”、“2-0”、“2-1”、“2-2”、“2-3”、“2-4”、“2-5”、“2-6”]
var letters=input.lowerCase().split(“”);
对于(var i=0;i来说,在生成的数字之间使用-
的概念。这意味着,你不能用一个数字包围-
的东西来编码
function convert(input) {
var inputlength = input.length,
CODE = '0abcdefghijklmnopqrstuvwxyz',
phonenumber = "",
character,
i;
input = input.toLowerCase();
for (i = 0; i < inputlength; i++) {
character = input[i];
if (isFinite(input[i]) && '-' === input[i + 1] && isFinite(input[i+2])) {
i += 2;
character += input[i];
}
phonenumber += ~CODE.indexOf(character) ? ('' + CODE.indexOf(character)).split('').join('-') : (character === '-' ? '-' : CODE[character]);
}
document.myform.number.value = phonenumber;
return true;
}
input.charAt(i);
一次返回1个字符您的输入是什么,只是24
?如果有更多的数字,它们是如何分开的?因此输入可以是数字也可以是字符?您预期的Will123
的转换输出是什么?23-9-12-12-转换器产生的是什么
function convert(input) {
var inputlength = input.length,
CODE = '0abcdefghijklmnopqrstuvwxyz',
phonenumber = "",
character,
i;
input = input.toLowerCase();
for (i = 0; i < inputlength; i++) {
character = input[i];
if (isFinite(input[i]) && '-' === input[i + 1] && isFinite(input[i+2])) {
i += 2;
character += input[i];
}
phonenumber += ~CODE.indexOf(character) ? ('' + CODE.indexOf(character)).split('').join('-') : (character === '-' ? '-' : CODE[character]);
}
document.myform.number.value = phonenumber;
return true;
}
function convert(input) {
var inputlength = input.length,
CODE= '0abcdefghijklmnopqrstuvwxyz',
SEPARATOR = '|',
phonenumber = "",
character,
i;
input = input.toLowerCase();
for (i = 0; i < inputlength; i++) {
character = input[i];
if (isFinite(input[i]) && SEPARATOR === input[i + 1] && isFinite(input[i + 2])) {
i += 2;
character += input[i];
}
phonenumber += ~CODE.indexOf(character) ? ('' + CODE.indexOf(character)).split('').join(SEPARATOR) : (character === '-' ? '-' : CODE[character]);
}
document.myform.number.value = phonenumber;
return true;
}