js小写字母转大写
在JavaScript中,我们经常会遇到需要将字符串中的小写字母转换为大写字母的情况。虽然JavaScript本身提供了toUpperCase
方法用于将字符串全部转为大写,但是如果只需要转换其中的小写字母,则需要自己编写相关的逻辑来实现。
方法一:使用正则表达式和replace方法
function convertToUpperCase(str) {
return str.replace(/[a-z]/g, function(char) {
return char.toUpperCase();
});
}
// 测试代码
console.log(convertToUpperCase("Hello World")); // 输出 "HELLO WORLD"
console.log(convertToUpperCase("JavaScript")); // 输出 "JAVASCRIPT"
在上面的代码中,我们使用了正则表达式/[a-z]/g
来匹配字符串中的小写字母,然后利用replace
方法替换为大写字母。这样就可以实现将字符串中的所有小写字母转换为大写字母。
方法二:使用charCodeAt和String.fromCharCode方法
function convertToUpperCase(str) {
let result = '';
for (let i = 0; i < str.length; i++) {
let charCode = str.charCodeAt(i);
if (charCode >= 97 && charCode <= 122) { // 小写字母的ASCII码范围是97到122
result += String.fromCharCode(charCode - 32); // 小写字母和大写字母ASCII码相差32
} else {
result += str[i];
}
}
return result;
}
// 测试代码
console.log(convertToUpperCase("Hello World")); // 输出 "HELLO WORLD"
console.log(convertToUpperCase("JavaScript")); // 输出 "JAVASCRIPT"
在上面的代码中,我们通过遍历字符串中的每个字符,利用charCodeAt
方法获取其ASCII码,然后判断是否为小写字母的ASCII码范围,如果是则通过String.fromCharCode
方法将其转换为大写字母。
方法三:使用map和join方法
function convertToUpperCase(str) {
return str.split('').map(char => {
if (char >= 'a' && char <= 'z') {
return char.toUpperCase();
} else {
return char;
}
}).join('');
}
// 测试代码
console.log(convertToUpperCase("Hello World")); // 输出 "HELLO WORLD"
console.log(convertToUpperCase("JavaScript")); // 输出 "JAVASCRIPT"
在上面的代码中,我们首先使用split('')
方法将字符串转换为字符数组,然后通过map
方法遍历数组中的每个字符,进行大小写转换,最后使用join('')
方法将字符数组转换回字符串。
总结,以上三种方法都可以实现将字符串中的小写字母转换为大写字母的功能,选择哪种方法取决于个人的喜好和项目的实际需求。