サマリー:<script>//獲取長度函數(shù)//這里不能用封裝好的方法,因?yàn)閘ength方法,英文算一個(gè)字符,中文也算一個(gè)字符function getStrLength(str){ //傳遞一個(gè)字符串過來 var mylen=0; //遍歷這個(gè)字符串 for(var i=0;i<str.length;i+
<script>
//獲取長度函數(shù)
//這里不能用封裝好的方法,因?yàn)閘ength方法,英文算一個(gè)字符,中文也算一個(gè)字符
function getStrLength(str){
//傳遞一個(gè)字符串過來
var mylen=0;
//遍歷這個(gè)字符串
for(var i=0;i<str.length;i++){
//如果字符串的第i個(gè)字符的Unicode碼在0-128之間就是英文字符,應(yīng)該算一個(gè)長度
if(str.charCodeAt(i)>0&&str.charCodeAt(i)<128){
mylen++;
}else{
//否則算兩個(gè)長度
mylen+=2;
}
}
return mylen;
}
//輸入當(dāng)字符數(shù)變更就觸發(fā)這個(gè)函數(shù)
function inputTest(value){
//先調(diào)getStrLength用統(tǒng)計(jì)當(dāng)前文本框中所含文本的值,因?yàn)間etStrLength統(tǒng)計(jì)出來的東西是英文字符長度,所以要除以2,強(qiáng)行轉(zhuǎn)換為整形
//再補(bǔ)上/10替換wordLength中的文本,/應(yīng)該被轉(zhuǎn)義,否則在某些編譯器中無法通過,例如Dreamwaver
document.getElementById("wordLength").innerHTML=parseInt(getStrLength(value)/2)+"\/10";
//如果超過10個(gè)字,20個(gè)字符
if(parseInt(getStrLength(value))>20){
//那么把警告內(nèi)容顯示出來,并把其中的顏色設(shè)置為紅色,當(dāng)然,你在HTML那里設(shè)置也可以
document.getElementById("test").style.display="block";
document.getElementById("test").innerHTML="太長,請修改至10字之內(nèi)";
document.getElementById("test").style.color="#ff0000";
}
else{
//否則隱藏警告內(nèi)容
document.getElementById("test").innerHTML="";
document.getElementById("test").style.display="none";
}
}
</script>
添削の先生:天蓬老師添削時(shí)間:2019-04-14 21:24:58
先生のまとめ:你發(fā)的不是表單選擇器的作業(yè)內(nèi)容, 是不是發(fā)錯(cuò)了, 退回重新提交吧...
<script>
//獲取長度函數(shù)
//這里不能用封裝好的方法,因?yàn)閘ength方法,英文算一個(gè)字符,中文也算一個(gè)字符
function getStrLength(str){
//傳遞一個(gè)字符串過來
var mylen=0;
//遍歷這個(gè)字符串
for(var i=0;i<st