2016-10-04 73 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) 
} 
相關問題