首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery时,如何在用户仍在编辑文本字段时将该字段的第一个字母大写?

使用jQuery时,如何在用户仍在编辑文本字段时将该字段的第一个字母大写?
EN

Stack Overflow用户
提问于 2010-01-07 08:46:03
回答 17查看 197.5K关注 0票数 74

我正在寻找一个如何将输入到文本字段中的字符串的第一个字母大写的示例。通常,这是通过一个函数,正则表达式,OnBlurOnChange等在整个字段上完成的。我想在用户仍在键入时将第一个字母大写。

例如,如果我输入单词"cat",用户应该按“c”,然后当他按“a”时,字段中的C应该是大写的。

我认为使用keyupkeypress可能会实现我的目标,但我不确定从哪里开始。

谁能给我举个例子?

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2010-01-07 08:53:02

只要使用CSS即可。

代码语言:javascript
复制
.myclass 
{
    text-transform:capitalize;
}
票数 102
EN

Stack Overflow用户

发布于 2012-11-29 23:42:04

这将简单地转换文本的第一个字母:

yourtext.substr(0,1).toUpperCase()+yourtext.substr(1);

票数 87
EN

Stack Overflow用户

发布于 2011-08-30 18:54:15

我在别的地方回答了这个问题。但是,这里有两个您可能希望在keyup事件上调用函数。

将第一个单词大写

代码语言:javascript
复制
  function ucfirst(str,force){
          str=force ? str.toLowerCase() : str;
          return str.replace(/(\b)([a-zA-Z])/,
                   function(firstLetter){
                      return   firstLetter.toUpperCase();
                   });
     }

并将所有单词大写

代码语言:javascript
复制
function ucwords(str,force){
  str=force ? str.toLowerCase() : str;  
  return str.replace(/(\b)([a-zA-Z])/g,
           function(firstLetter){
              return   firstLetter.toUpperCase();
           });
}

正如@Darrell建议的那样

代码语言:javascript
复制
$('input[type="text"]').keyup(function(evt){

      // force: true to lower case all letter except first
      var cp_value= ucfirst($(this).val(),true) ;

      // to capitalize all words  
      //var cp_value= ucwords($(this).val(),true) ;


      $(this).val(cp_value );

   });

希望这能对你有所帮助

干杯:)

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2017456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档