首页 > 解决方案 > jQuery改变名字类型的大小写

问题描述

我想在输入字段中输入用户的名字时对其进行规范化。

<input type="text" name="firstName">

因此,当用户键入:

有这样做的功能吗?

这是我尝试过的:

new_str = str.toLowerCase().replace(/\b[a-z]/g, function(txtVal) {
    return txtVal.toUpperCase();
});
$('.list-title').text(new_str);

但它不适用于第二种情况。

谢谢你的帮助。

标签: jquery

解决方案


使用 CSStext-transform和正则表达式

正则表达式演示

function print() {
  let input = $('input').val().replace(/(?:^|[\s-])\w/g, function(str) {
    return str.toUpperCase()
  })

  console.log(input)
}
input {
  text-transform: capitalize;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="firstName">
<button onclick="print()">print</button>


推荐阅读