如何使用jQuery将文本框中每个单词的首字母大写?
实现文本框每个单词首字母大写的jQuery方案
方法一:数组遍历处理(逻辑清晰版)
这种方式能兼容多连续空格的场景,调试和修改更灵活:
$("#btn4").click(function(){ var input = $("#input1"); // 先统一转小写,消除原有大写字母的干扰 var rawText = input.val().toLowerCase(); // 按任意数量空格分割成单词数组,自动过滤多连续空格产生的空项 var wordList = rawText.split(/\s+/); // 遍历处理每个单词:首字母大写,其余字符保持小写 var processedWords = wordList.map(function(word) { if (word.length === 0) return word; return word.charAt(0).toUpperCase() + word.slice(1); }); // 拼接回字符串并赋值回输入框 input.val(processedWords.join(" ")); });
方法二:正则替换(简洁版)
利用正则匹配单词边界,一行核心代码完成需求:
$("#btn4").click(function(){ var input = $("#input1"); input.val( input.val().toLowerCase() .replace(/\b\w/g, function(char) { return char.toUpperCase(); }) ); });
核心说明
- 两种方法都会先将整个文本转小写,确保除首字母外的字符格式统一
- 方法一的
split(/\s+/)能处理多个连续空格的情况,避免生成无效空单词 - 方法二的
\b\w正则会精准匹配每个单词的第一个字符,通过回调函数转为大写,实现快速替换
内容的提问来源于stack exchange,提问作者A.O.J
相关产品推荐
相关产品推荐

