Possible Duplicate:
Capitalize the first letter of string in JavaScript如何將javaScript中每個文本輸入的首字母大寫?
這可能是迄今爲止的代碼。我想FIRST_Name和LAST_Name字段大寫第一個字母,並使所有其他字母小:
此外,我不熟悉javaScript,所以我不完全確定我在做什麼。
最新編輯。這段代碼有什麼問題?
<HTML>
<HEAD>
<TITLE></TITLE>
<script language="javascript" type="text/javascript">
<!--
function CheckForm()
formObj.FIRST_Name.value = titleCase(formObj.FIRST_Name.value);
formObj.LAST_Name.value = titleCase(formObj.LAST_Name.value);
function titleCase(str) {
var words = str.split(/\s+/);
for (var i=0; i<words.length; i++)
words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1);
return words.join(" ");
}
{
var formObj = document.getElementById("Data");
var firstname = formObj.FIRST_Name.value;
var lastname = formObj.LAST_Name.value;
if(notEmpty(formObj.FIRST_Name, "Please enter your first name")){
if(notEmpty(formObj.LAST_Name,"Please enter your last name")){
if(titleCase(formObj.FIRST_Name)
return true;}}
return false;
}
function notEmpty(elem, helperMsg){
if(elem.value.length == 0){
alert(helperMsg);
elem.focus(); // set the focus to this input
return false;
}
return true;
}
</script>
</HEAD>
<BODY>
<div style="background: #CCCC99">
<HR><FORM id="Data" onsubmit="return CheckForm()" action="post to server" method=post>
<P>First Name: <input type=text name=FIRST_Name maxlength=15 size=15>
Last Name: <input type=text name=LAST_Name maxlength=15 size=15></P>
<input type=submit value="Submit Products Registration Form" style="width: 220px"><input type=reset value="Reset">
</form>
</div>
</BODY>
</HTML>
使用這個正則表達式更簡單:'/ \ b \ w/g'然後用大寫字母替換匹配(單個字符)。 '\ b'表示「文字邊界」。 (它甚至可以在連字符上工作,這可能或不可取:-) – 2012-07-26 01:45:53
@pst - 在開始處允許空白是一個好主意,'\ b'應該這樣做,但原始代碼也會改變其餘的文字以小寫字母。 – nnnnnn 2012-07-26 02:16:16
你想要做什麼?檢查輸入的格式是否正確(並警告)?提交時更正它(然後服務器端也可以)?在打字時糾正生活(非常煩人)? – Bergi 2012-07-26 02:22:23