我正在寻找一个如何将输入到文本字段中的字符串的第一个字母大写的示例。通常,这是通过一个函数,正则表达式,OnBlur
,OnChange
等在整个字段上完成的。我想在用户仍在键入时将第一个字母大写。
例如,如果我输入单词"cat",用户应该按“c”,然后当他按“a”时,字段中的C应该是大写的。
我认为使用keyup
或keypress
可能会实现我的目标,但我不确定从哪里开始。
谁能给我举个例子?
发布于 2010-01-07 08:53:02
只要使用CSS即可。
.myclass
{
text-transform:capitalize;
}
发布于 2012-11-29 23:42:04
这将简单地转换文本的第一个字母:
yourtext.substr(0,1).toUpperCase()+yourtext.substr(1);
发布于 2011-08-30 18:54:15
我在别的地方回答了这个问题。但是,这里有两个您可能希望在keyup事件上调用函数。
将第一个单词大写
function ucfirst(str,force){
str=force ? str.toLowerCase() : str;
return str.replace(/(\b)([a-zA-Z])/,
function(firstLetter){
return firstLetter.toUpperCase();
});
}
并将所有单词大写
function ucwords(str,force){
str=force ? str.toLowerCase() : str;
return str.replace(/(\b)([a-zA-Z])/g,
function(firstLetter){
return firstLetter.toUpperCase();
});
}
正如@Darrell建议的那样
$('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 );
});
希望这能对你有所帮助
干杯:)
https://stackoverflow.com/questions/2017456
复制相似问题