首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JavaScript 正則驗證:正整數或範圍格式(如 1-10)且第二數不大於第一數

     編輯:程式設計疑難解答

需求

輸入格式:正整數 或 正整數-正整數(範圍),且第二個數 ≤ 第一個數。例如 5、1-10 合法,10-1 非法。

純正則困難點

正則難以直接比較兩個數字大小,尤其數字位數不固定時。

推薦方案:分步驗證

function validateRange(input) {
    // 1. 格式檢查
    if (!/^\d+(-\d+)?$/.test(input)) return false;
    // 2. 分割
    const parts = input.split('-').map(Number);
    if (parts.length === 1) return parts[0] > 0; // 單數字
    // 3. 範圍邏輯
    return parts[0] > 0 && parts[1] > 0 && parts[1] <= parts[0];
}

優勢

  • 可讀性強,易維護。
  • 避免複雜正則導致的效能與錯誤風險。

如果必須用正則(不推薦)

需分情況列舉位數,極其繁瑣,不具通用性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved