簡體   English   中英

正則表達式允許所有數字,但如果Javascript中只有0,則不允許

[英]Regex to allow all Numbers but not if only 0 in Javascript

我一直在試圖找出如何返回真,如果有任何數字,但如果只有0或包含任何小數,則不會. 那是

1    //true
23   //true
10   //true
0.2  //false
10.2 //false
02   //false
0    //false

到目前為止,我已經制作了此正則表達式,並且工作正常,但它也允許0我不想要的

/^[0-9]+$/.test(value);

到目前為止,我一直努力搜索並嘗試過這些正則表達式,但均失敗了

/^[0]*[0-9]+$/
/^[0-9]+[^0]*$/

我一點都不在正則表達式上。 謝謝您的期待。

您接近了: /^[1-9][0-9]*$/

前導[1-9]強制數字具有不為0的最高有效數字,因此將不接受0 之后,任何數字都可以輸入。

最后,一個包含的數字. 不被接受。

開始時使用負前瞻。

/^(?!0)\d+$/.test(value);

如果此正則表達式開頭不為0,則不匹配該字符串。

不需要正則表達式。 只需使用Number函數或+一元運算符將其轉換為實際數字,然后查看它是否小於1且大於-1

value = +value; // it's now a number
var bool = value < 1 && value > -1;  // less than 1 but greater than -1
function validateNumber(yournumber){
return (parseFloat(yournumber ) == parseInt(yournumber) &&  parseInt(yournumber))
}

此正則表達式將適用於除0以外的所有數字,但00將適用

/([0-9]{2,})|[1-9]/.test(value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM