gpt4 book ai didi

javascript - 是否可以只转换字母而不转换数字

转载 作者:行者123 更新时间:2023-12-03 03:05:05 25 4
gpt4 key购买 nike

是否可以只转换4个数字后面的字母。也不转换数字。我使用 charCodeAt 来执行此操作。

我想做的只是转换字母而不是数字。下面我也换算一下数字。我想在前 4 个字符之后进行转换,将字母转换为 ascii 数字。

function convertZipcodeToInteger(letters){
letters = letters;
for(var i = 0; i < letters.length; i++){
let number = letters.charCodeAt(i) % 65 + "";
if (number.length < 2)
{
number = "0" + number;
}
console.log(number);
}
} convertZipcodeToInteger('7711AD');

我现在正在做的代码是将 7711AD 放入字母参数中。将它们放入 for 循环中,以便它使用 charCodeAt 转换所有字母(和数字)。当number.length小于2时,它前面会出现一个0。

我想要做的是将其转换为:77110003 这是转换后的字母。我不想转换数字,因为它们不需要更改。

最佳答案

您可以测试该值是否为数字,如果不是,则将字母转换为基于 36 的数值,并在返回之前填充它。

function convertZipcodeToInteger(string) {
function pad2(s) { return ('00' + s.toString()).slice(-2); }

return string
.split('')
.map(function (c) {
return /\d/.test(c)
? c
: pad2(parseInt(c, 36) - 10);
})
.join('')
};

function convertZipcodeToLetter(string) {
return string.slice(0, 4) + string
.slice(4)
.split(/(?=(?:..)*$)/)
.map(function (s) { return (+s + 10).toString(36).toUpperCase(); })
.join('');
}

console.log(convertZipcodeToInteger('7711AD'));
console.log(convertZipcodeToLetter('77110003'));

关于javascript - 是否可以只转换字母而不转换数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47201585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com