我想在我的文本区域中将第一个字母和第三个字母大写。
我只能将第一个字母大写,然后将接下来的每个字母和单词转换为小写。
如果有解决这个问题的方法,请告诉我。
我正在使用 AngularJS。
这就是我尝试并做过的事情。
link: function (scope, iElement, iAttrs, controller) {
//console.log('init');
controller.$parsers.push(function (inputValue) {
var transformedInput = (!!inputValue) ? inputValue.charAt(0).toUpperCase() + inputValue.substr(1).toLowerCase() : '';
if (transformedInput != inputValue) {
controller.$setViewValue(transformedInput);
controller.$render();
}
return transformedInput;
});
这只适用于第一个字母,它转换为大写,然后将另一个字母和单词转换为小写。
我试图将我的代码改成这样,但没有。
var transformedInput = (!!inputValue) ? inputValue.charAt(0).toUpperCase() + inputValue.substr(1).toLowerCase() + inputValue.charAt(3).toUpperCase() + inputValue.substr(4).toLowerCase(): '';
最佳答案
看看这个。与您所做的相同,只是使用 for 循环来识别要修改的字符索引。
var inputValue = "test";
var transformedInput = '';
if(inputValue){
for(var i=0; i<inputValue.length; i++){
if(i===0 || i=== 2){
transformedInput += inputValue.charAt(i).toUpperCase();
} else {
transformedInput += inputValue.charAt(i).toLowerCase();
}
}
}
console.log(transformedInput);
关于javascript - 如何将第一个和第三个字母大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42391406/