我試圖創建一個函數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