abstrakt:<script>//獲取長(zhǎng)度函數(shù)//這里不能用封裝好的方法,因?yàn)閘ength方法,英文算一個(gè)字符,中文也算一個(gè)字符function getStrLength(str){ //傳遞一個(gè)字符串過(guò)來(lái) var mylen=0; //遍歷這個(gè)字符串 for(var i=0;i<str.length;i+
<script>
//獲取長(zhǎng)度函數(shù)
//這里不能用封裝好的方法,因?yàn)閘ength方法,英文算一個(gè)字符,中文也算一個(gè)字符
function getStrLength(str){
//傳遞一個(gè)字符串過(guò)來(lái)
var mylen=0;
//遍歷這個(gè)字符串
for(var i=0;i<str.length;i++){
//如果字符串的第i個(gè)字符的Unicode碼在0-128之間就是英文字符,應(yīng)該算一個(gè)長(zhǎng)度
if(str.charCodeAt(i)>0&&str.charCodeAt(i)<128){
mylen++;
}else{
//否則算兩個(gè)長(zhǎng)度
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ì)出來(lái)的東西是英文字符長(zhǎng)度,所以要除以2,強(qiáng)行轉(zhuǎn)換為整形
//再補(bǔ)上/10替換wordLength中的文本,/應(yīng)該被轉(zhuǎn)義,否則在某些編譯器中無(wú)法通過(guò),例如Dreamwaver
document.getElementById("wordLength").innerHTML=parseInt(getStrLength(value)/2)+"\/10";
//如果超過(guò)10個(gè)字,20個(gè)字符
if(parseInt(getStrLength(value))>20){
//那么把警告內(nèi)容顯示出來(lái),并把其中的顏色設(shè)置為紅色,當(dāng)然,你在HTML那里設(shè)置也可以
document.getElementById("test").style.display="block";
document.getElementById("test").innerHTML="太長(zhǎng),請(qǐng)修改至10字之內(nèi)";
document.getElementById("test").style.color="#ff0000";
}
else{
//否則隱藏警告內(nèi)容
document.getElementById("test").innerHTML="";
document.getElementById("test").style.display="none";
}
}
</script>
Korrigierender Lehrer:天蓬老師Korrekturzeit:2019-04-14 21:14:58
Zusammenfassung des Lehrers:這段代碼中, 沒(méi)有盾到j(luò)Query的代碼 , 是發(fā)錯(cuò)了嗎?
為不影響后面學(xué)習(xí), 先通過(guò), 下次發(fā)的時(shí)候,看清標(biāo)題