我试图创建一个函数onkeydown(),在文本输入字段中强制所有字母在逗号(“,”)之后大写。Javascript函数:逗号后的句号
我知道我可以使用此功能使所有字母大写的:
function makeUppercase(field) {
field.value = field.value.toUpperCase();
}
但我不知道怎么说做这个功能只有在一个逗号是存在的。
我试图创建一个函数onkeydown(),在文本输入字段中强制所有字母在逗号(“,”)之后大写。Javascript函数:逗号后的句号
我知道我可以使用此功能使所有字母大写的:
function makeUppercase(field) {
field.value = field.value.toUpperCase();
}
但我不知道怎么说做这个功能只有在一个逗号是存在的。
我想这样做是做一个测试的一种方法:
if (field.value.indexOf(',') == -1) // comma doesn't exist in the string
{
// add the character
}
else
{
// add the uppercase version of the character.
}
正则表达式是好之类的东西。像
function makeUpperCaseAfterCommas(str) {
return str.replace(/,\s*([a-z])/g, function(d,e) { return ", "+e.toUpperCase() });
}
你可以测试逗号,如果它们存在逗号分割。新数组的第一个索引之后的任何内容都会将toUppercase应用到,然后用逗号重新加入字符串,并用重新构造的字符串替换输入字段。
function makeUppercase(field) {
if(filed.value.indexOf(",") != -1)
{
var inputStr = field.value.split(",");
for(var i = 1; i < inputStr.length; i++)
{
inputStr[i] = inputStr[i].toUpperCase();
}
field.value = inputStr.join(",");
}
}
什么我会把onkeydown =“”来触发这个函数? – Mike 2011-01-24 20:29:33