jquery - jQuery改变名字类型的大小写
问题描述
我想在输入字段中输入用户的名字时对其进行规范化。
<input type="text" name="firstName">
因此,当用户键入:
- 汤米,应该更正为汤米。
- jean-claude,应该更正为 Jean-Claude。
有这样做的功能吗?
这是我尝试过的:
new_str = str.toLowerCase().replace(/\b[a-z]/g, function(txtVal) {
return txtVal.toUpperCase();
});
$('.list-title').text(new_str);
但它不适用于第二种情况。
谢谢你的帮助。
解决方案
使用 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>
推荐阅读
- sql - 关于 Tableau Desktop 如何与超大型数据库对话的简单问题
- spring - 在不配置 CORS 的情况下将文件从 Angular 上传到 Spring
- reactjs - 创建客户端时无法连接到 twilsock
- android - 结合 Android 附近连接和视频
- .htaccess - .htaccess 代码使 url 小写并在需要时添加斜杠,有时会添加额外的斜杠。任何想法如何解决它?
- android - 如何通过在 Kotlin 中提供大小来创建数组
- android - 如何从图标中删除白色背景?
- css - 我可以使用 css 更改内联数据属性(数据视差)的值吗?
- google-chrome - 如何在观看视频时下载 Google Chrome 浏览器存储的 blob 数据?
- android - Android中的空对象引用