Viết hàm thay thế tất cả ký tự đặc biệt (không phải chữ, số, khoảng trắng) bằng mã ASCII của chúng.
Ví dụ
Đầu vào: 'Th!s !s @ str!ng th@t cont@!ns some special characters!!'
Ký tự đặc biệt: !(33), @(64)
Giải pháp
Mã triển khai:
const str = 'Th!s !s @ str!ng th@t cont@!ns some special characters!!';
const specialToASCII = str => {
let res = '';
for (let i = 0; i < str.length; i++) {
const char = str[i];
// Chữ cái, số, khoảng trắng → giữ nguyên
if (/[a-zA-Z0-9 ]/.test(char)) {
res += char;
} else {
res += char.charCodeAt(0);
}
}
return res;
};
console.log(specialToASCII(str));
Kết quả
Đầu ra trong console:
Th33s 33s 64 str33ng th64t cont6433ns some special characters3333