【问题标题】:function to capitalize first chars of each word in string [closed]将字符串中每个单词的第一个字符大写的函数[关闭]
【发布时间】:2018-10-24 17:54:00
【问题描述】:

这是尝试将“姓氏,名字”大写,但它不起作用。我不知道为什么它不起作用。你能帮我解决这个问题吗?

function validateForm() {

  var memName = document.getElementById('mem-name').value;
  var memRating = document.getElementById('mem-rating').value;
  var memClass = document.getElementById('mem-class').value;

  if (memName == "") {
    alert("Name must be filled out");
    return false;
  }
  if (memRating == "") {
    alert("Rating must be filled out");
    return false;
  }
  if (memClass == "") {
    alert("Class must be filled out");
    return false;
  }

  capitalize_Words(memName);

  //capitalize_Words 
  function capitalize_Words(memName) {
    return memName.replace(/\w\S*/g, function(txt) {
      return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    });
  }

  members.push({
    Name: memName,
    Class: memClass,
    Rating: memRating,
  });

  let temp = "New player added: " + memName;
  alert(temp);
  document.getElementById("newMember").reset();

}

【问题讨论】:

标签: javascript capitalize


【解决方案1】:

字符串是不可变的;简单地调用capitalize_Words(memName); 并在字符串上调用replace 不会更改字符串,它只是返回新字符串。您的代码正在调用 capitalize_Words 并忽略结果;将结果存储在变量中。

function validateForm() {
  const memName = document.getElementById('mem-name').value;
  const memRating = document.getElementById('mem-rating').value;
  const memClass = document.getElementById('mem-class').value;
  if (memName == "") {
    alert("Name must be filled out");
    return false;
  }
  if (memRating == "") {
    alert("Rating must be filled out");
    return false;
  }
  if (memClass == "") {
    alert("Class must be filled out");
    return false;
  }
  const capitalizedMemName = capitalize_Words(memName);
  function capitalize_Words(memName) {
    return memName.replace(/\w\S*/g, function(txt) {
      return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    });
  }
  members.push({
    Name: capitalizedMemName,
    Class: memClass,
    Rating: memRating,
  });
  const temp = "New player added: " + memName;
  alert(temp);
  document.getElementById("newMember").reset();
}

【讨论】:

    猜你喜欢
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    相关资源
    最近更新 更多