我討厭尋求幫助,因爲我寧願爲自己弄點東西,或者從其他人發佈或已經問過的東西中學習並解決。因爲這是我的第一篇文章!javascript:試圖驗證一個數字必須是4位數字才能看到x <100(即0100)
這要麼是真的很簡單,要麼是複雜的事情,要麼是以錯誤的方式去做。我到處搜尋了2個多小時。即時通訊不完全是在爵士noob,但我仍然有點新,我會說學習,ameteur? anywho ....
我所試圖做的事:
,所以我有一個數字輸入框<input type="number" maxlength="4" .../>
,其中用戶將進入一個4位數字(必須是4個位數)爲100〜8000 。顯然100到999會是0100 - 0999。
到目前爲止沒有問題,我可以使用一個字符串將變量作爲4位數傳遞。
我遇到的問題是我需要添加一些條件來驗證輸入。一個條件是竊聽我。這是我到目前爲止有:
(VAR X已經設置的形式和數量輸入框)
if (x=="" || isNaN(x) || x.length!== 4 && x< 0100 || x>8000)
{alert(please enter the correct amount!}
else {run rest of function}
,使他們所有的工作execpt爲:x<0100
如果用戶輸入99它會標記,因爲它不是4位數,並且如果它們輸入0099,它將接受它並運行功能代碼的其餘部分。
我只需要它來從0001任何金額警惕0099.
我發現了另一篇文章,How to make 8 digit number in javascript?,有點相關,但這個傢伙只是想輸出補零的數字。我認爲其中一個解決方案(下面的代碼)可以用我,但因爲我累壞了,大腦疲憊和新我不能解決這個問題:
var i = (100).toPrecision(8).split('.').reverse().join('');
我會通過它編輯開始:
var i = (x).toPrecision(4).split('.').reverse().join('');
(但如果將它們輸入99沒有0099 ......如果你看見我的意思這只是工作)
我認爲它會像代碼(分割0099到99.00反向),然後聲明將是:if(.... && i<==99 || ....)
但idk如何寫在JS ...
好吧,所以做亞你看這是如何與我心中攪亂,作爲一個半/季度noob和所有!
對不起它不正確格式化和這麼久,我還沒有掌握如何使用代碼函數...
,並感謝在閱讀這篇您的耐心(如果你有這麼遠嘿嘿)。
在此先感謝
Slappy-X
你如何使用正則表達式來解決這個問題?如'^ [0-9] {4} $',如果number與上面的正則表達式不匹配,則相應地在前面加上0並重新匹配。 – Bassem
在if條件的中間,把'&&'改成'||',並且說'x <100'而不是'x <0100'。 – nnnnnn
當你想要實際的值(對於範圍)時,使用parseInt(x)。你在找什麼?檢查條件與整數 – galchen