先看一下題目:正則表達式
統計考試科目的成績
需求說明:
1.使用prompt()方法輸入考試科目的數量,要求數量必須是非零、非負數的數值類型,不然給出相應提示並退出程序;
2.根據考試科目的數量,使用prompt()方法輸入各科的考試成績並累加,要求成績必須是非負數的數值類型,不然給出相應提示並退出程序;ide
3.若是各項輸入正確,則彈出總成績。函數
練習做品:post
body部分:spa


<form class="" action="#" method="post"> <input type="button" name="" value="輸入考試科目的數量" onclick='start()'> </form>
js部分:code


function start(){ // 獲取課程數,課程數要求非0非負 var subjectNum; subjectNum = prompt("考試科目數量",""); if(!isInt(subjectNum)){ alert('輸入的不是正整數,請從新輸入!'); }else if(parseInt(subjectNum) == 0){ alert('輸入數字不能爲0,請從新輸入'); }else if(parseInt(subjectNum) > 0){ sumDegree(parseInt(subjectNum)); } } function sumDegree(subjectNum){ // 計算總成績,要求成績非負 var totalScore = 0; for(var i = 0; i < subjectNum; i++){ var degree = prompt('請輸入考試成績',''); if(!isInt(degree)){ alert('輸入的不是正整數,請從新輸入!'); return }else if(parseInt(degree) > 0){ totalScore += parseInt(degree); } } alert(subjectNum + '門功課的總成績爲:' + totalScore); } function isInt(str){ // 驗證字符串是不是非負整數 if(/^[0-9]+$/.test(str)){ return true; }else{ return false; } }
總結:orm
1.感受遇到的主要困難,對數字的屢次驗證有點麻煩,可是我不會更好的方法。因此雖然寫得很爛,但仍是用了。blog
2.不會正則表達式,現搜現學的。整個練習完成時間大約兩個半小時。基礎不牢,一些函數也是現查現用。字符串
3.菜鳥,勿噴。水一水,有人看我很開心,沒人看就當筆記了。input