javascript - 如何将第一个和第三个字母大写?

标签 javascript html angularjs

我想在我的文本区域中将第一个字母和第三个字母大写。

我只能将第一个字母大写,然后将接下来的每个字母和单词转换为小写。

如果有解决这个问题的方法,请告诉我。

我正在使用 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/

相关文章:

javascript - 如何使用Vue.js显示Object的所有数据

javascript - 如何让输入警报消息仅在输入字母而不是数字时起作用?不让任何文字提示

css - Kendo Menu dataSource imageUrl 不接受内容

javascript - 如何访问 Angular.JS 中 $routeProvider 配置中的工厂数据对象?

javascript - 无法在 AngularJS 中预填充表单

javascript - 加载更多 Action jquery

javascript - 对背景图像的淡入效果

javascript - 使用 Angular js在点击事件中调用routeProvider

javascript - 创建不带滚动条的可滚动弹出框

angularjs - Angular 表单验证 - 最小元素不能大于最大元素