你如何驗證該值是包含1和30,我試圖計算總數?您如何輸入和驗證日期必須是1-30包含?
這是我有:
var costs = 80;
var days = 0;
var days = parseInt(prompt("enter number of days"));
for (var i = 1; i <=1; i++)
if (days < 1);
{
alert ("total costs is" + days * costs);
}
你如何驗證該值是包含1和30,我試圖計算總數?您如何輸入和驗證日期必須是1-30包含?
這是我有:
var costs = 80;
var days = 0;
var days = parseInt(prompt("enter number of days"));
for (var i = 1; i <=1; i++)
if (days < 1);
{
alert ("total costs is" + days * costs);
}
使用此: -
var day = parseInt(prompt("Enter a Number"),10);
var cost = 80;
if(day > 0 && day < 31){
alert("Total Cost = " + day*cost);
}else{
alert("Can't you understand English, enter a number");
}
說明
在第一行中,可變day
將與提供的值來創建由用戶。使用parseInt
是因爲默認情況下prompt
返回一個字符串。
第二行定義了一個變量cost
並將其值至80。
然後if
語句檢查由用戶所提供的值是否大於0且小於31或不。
如果條件評估爲真,則將顯示總成本,否則將顯示「不能...號碼」消息。
只需做以下修改來實現你想要什麼:
var costs = 80;
var days = 0;
var days = parseInt(prompt("enter number of days"));
if (!isNaN(days) && days > 0 && days < 31) {
// yes valid
} else {
// not valid
};
isNaN
是確保用戶實際上已經給出數字。祝你好運,玩得開心!
爲什麼要定義'days' 2次? – Arjun
沒有必要或'isNaN',除了清晰可能。如果'days'爲'NaN','days> 0'將會是'false'。 –
那麼@regi希望日期是btw 1和30.需要忽略用戶輸入-1和30+的情況 –
嘗試此代碼:
var costs = 80;
var days = 0;
var days = parseInt(prompt("enter number of days"));
days >1 && days < 30 ? alert ("total costs is" + days * costs):alert('Please input a valid number')
只需檢查數字是否小於31且大於0?你知道關係比較運算符嗎? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Relational_operators。如果你是JavaScript新手,我建議閱讀一個教程,例如http://eloquentjavascript.net/。堆棧溢出不是學習新語言的正確位置。 –
是的,我是新的自我教學。有沒有其他網站,你知道我可以學習。另外我剛剛注意到我設置了var天 – regi
看看在「學習JavaScript」下的[javascript標籤描述](https://stackoverflow.com/tags/javascript/info) –