簡體   English   中英

正則表達式接受小於-50.0或大於80.0的數字

[英]RegEx to accept numbers less then -50.0 or greater than 80.0

我試圖找到一個JavaScript正則表達式來接受小於-50.0或大於80.0的數字。

下面的表達式不起作用:

 /^([-][5][0]\.[0]|[-][0-4][0-9]\.[0-9]|[-][0-9]\.[0-9])|([0]\.[0]|[1-9]\.[0-9]|[0-7][0-9]\.[0-9]|[8][0]\.[0])$/

RegEx用於模式匹配,而不是用於此類。 只需將輸入解析為數字並比較其值即可。

function checkValue(input){
    var number = parseInt(input);
    if (number === NaN) throw new Error('input was not a number') /* error checking */
    if (number < -50 || number > 80) return true;
   return false;
}

編輯:如果可以,您應該嘗試進行某種形式的驗證。 RegEx不適合此功能。 隨時發布更多上下文代碼,我們可以在此處了解如何進行最佳驗證。

您可以使用此正則表達式:

/(?:^|[^.])(-([56]\d|\d{3,})(?:\.\d{1,2})?\b|\b([89]\d|\d{3,})(?:\.\d{1,2})?\b)/gm

正則演示

暫無
暫無

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

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