【问题标题】:Capitalize the last letter in a string (with letters and numbers) using jQuery使用jQuery将字符串中的最后一个字母(带有字母和数字)大写
【发布时间】:2017-02-12 22:12:21
【问题描述】:

我正在使用以下 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 都大写。

我该怎么做?

【问题讨论】:

  • 也许我是偏执狂,但这听起来很像一个家庭作业问题。
  • 那么,如果字符串是“23fz980q7”呢?你想把 F 和 Q 大写吗?
  • @MageeWorld,我们允许做作业。 :)

标签: jquery capitalize


【解决方案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>

【讨论】:

    【解决方案2】:

    您可以使用此函数将字符串的第 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)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 2017-08-25
      • 1970-01-01
      相关资源
      最近更新 更多