2016-10-04 91 views
2

我使用以下jQuery来大写输入脚本的第一个字母。使用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 我需要利用两个dž

我该怎么做?

+2

也许我是偏执狂,但这个听起来很像一门功课的问题。 – MageeWorld

+1

那么,如果字符串是“23fz980q7”呢?你想要利用F和Q吗? –

+0

@MageeWorld,我们允许功课。 :) –

回答

0

谢谢大家。 我要利用这样的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) 
} 
相关问题