使用 jQuery 将字符串中的最后一个字母(包含字母和数字)大写

Capitalize the last letter in a string (with letters and numbers) using jQuery

我正在使用以下 jQuery 将输入脚本的第一个字母大写。

$('li.capitalize input').keyup(function(event) {
    var textBox = event.target;
    var start = textBox.selectionStart;
    var end = textBox.selectionEnd;
    textBox.value = textBox.value.charAt(0).toUpperCase() + textBox.value.slice(1);
    textBox.setSelectionRange(start, end);
});

此外,我现在需要在包含字母和数字的字符串中的特定位置(不是第一个字母)将字母大写。

例如:Da1234Z 我需要将 DZ.

都大写

我该怎么做?

您可以使用此函数将字符串的第 n 个字符大写:

function capitalizeNth(text, n) {
    return (n > 0 ? text.slice(0, n) : '') + text.charAt(n).toUpperCase() + (n < text.length - 1 ? text.slice(n+1) : '')
}

如果您知道 n 不能为负数,您甚至可以将其缩短为:

function capitalizeNth(text, n) {
    return text.slice(0,n) + text.charAt(n).toUpperCase() + text.slice(n+1)
}

谢谢大家。 我必须像这样将第 7 个字母大写:

<script>
jQuery.noConflict();
jQuery(document).ready(function($) {
$('li.capitalize input').keyup(function(event) {
var textBox = event.target;
var start = textBox.selectionStart;
var end = textBox.selectionEnd;
textBox.value = textBox.value.slice(0,7) + textBox.value.charAt(7).toUpperCase() + textBox.value.slice(8);
textBox.setSelectionRange(start, end);
});
});
</script>