2015-11-25 22 views
0

你如何驗證該值是包含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); 
} 
+3

只需檢查數字是否小於31且大於0?你知道關係比較運算符嗎? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Relational_operators。如果你是JavaScript新手,我建議閱讀一個教程,例如http://eloquentjavascript.net/。堆棧溢出不是學習新語言的正確位置。 –

+0

是的,我是新的自我教學。有沒有其他網站,你知道我可以學習。另外我剛剛注意到我設置了var天 – regi

+0

看看在「學習JavaScript」下的[javascript標籤描述](https://stackoverflow.com/tags/javascript/info) –

回答

0

使用此: -

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或不。

如果條件評估爲真,則將顯示總成本,否則將顯示「不能...號碼」消息。

+0

感謝這工作,並做我想要的。也即時通訊不研究任何我只是有興趣自學的東西。 – regi

+0

@regi不客氣! :) – Arjun

0

只需做以下修改來實現你想要什麼:

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是確保用戶實際上已經給出數字。祝你好運,玩得開心!

+0

爲什麼要定義'days' 2次? – Arjun

+2

沒有必要或'isNaN',除了清晰可能。如果'days'爲'NaN','days> 0'將會是'false'。 –

+0

那麼@regi希望日期是btw 1和30.需要忽略用戶輸入-1和30+的情況 –

0

嘗試此代碼:

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') 
相關問題