【问题标题】:Allow only letters and spaces and capitalise each word只允许字母和空格并将每个单词大写
【发布时间】:2016-05-22 07:22:20
【问题描述】:

我只需要允许输入字母,并且还需要使用 javascript 将每个单词的首字母大写。我有第一个在按键上工作,我想要第二个在模糊上工作,但我无法让它工作。如果我自己使用它,它可以正常工作。我已经尝试了很多东西,但我一定错过了一些小东西,我就是不知道它是什么。

HTML

<tr>
<td>
<input type="text" name="first_names" onkeypress="return isAlfa(event)" onblur="toTitleCase()">
</td>
<td>
<input type="text" name="last_names" onkeypress="return isAlfa(event)" onblur="toTitleCase()">
</td>
</tr>

JAVASCRIPT

function isAlfa(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
        return false;
    }
    return true;
}

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

请帮忙

【问题讨论】:

    标签: javascript html forms input


    【解决方案1】:

    您需要重新分配输入的值,例如喜欢onblur="this.value = toTitleCase(this.value)":

    function isAlfa(evt) {
      evt = (evt) ? evt : window.event;
      var charCode = (evt.which) ? evt.which : evt.keyCode;
      if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {
        return false;
      }
      return true;
    }
    
    function toTitleCase(str) {
      return str.replace(/\w\S*/g, function(txt) {
        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
      });
    }
    &lt;input type="text" name="first_names" onkeypress="return isAlfa(event)" onblur="this.value = toTitleCase(this.value)"&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 2013-11-04
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多