我有一個輸入,需要最小數值爲125.我是新來的正則表達式,並使用基金會的守護進行驗證,據我所知,沒有具體的混合/最大支持。我希望有一個正則表達式來設置模式屬性。任何解決方案謝謝!正則表達式的最小數值爲125?
回答
任何正則表達式來全面驗證一個數字的價值將是強有力的。我建議只解析數字到int
然後檢查它。
在Javascript中:
if (parseInt(numberString) >= 125)
{
// number is at least 125.
}
是的,我覺得正則表達式會讓事情在這個時候過於複雜化。我會使用jQuery基本上做你以上做的。 – Evan 2014-09-23 20:37:18
@Evan我編輯了我的答案以使用Javascript。 – 2014-09-23 21:11:37
如果通過正則表達式來做到這一點,你可以試試這個表達式:
([1-9][2-9][5-9])|([2-9][0-9][0-9])|([1-9]\d{3}\d*)
我已經在JavaScript測試,它是在那裏工作的罰款:
var pattern = /([1-9][2-9][5-9])|([2-9][0-9][0-9])|([1-9]\d{3}\d*)/;
console.log(pattern.test('120')); //false
console.log(pattern.test('125')); // true
console.log(pattern.test('200')); // true
console.log(pattern.test('10000')); // true
console.log(pattern.test('99999')); // true
我覺得它有點棘手。你必須匹配310或其他東西。 – sln 2014-09-23 18:15:51
數字200怎麼樣?這也不包括前導零。 – 2014-09-23 18:18:47
對,我同意我的答案中有很多缺失。讓我在這裏加上缺少的邏輯。 – 2014-09-23 19:00:33
可能只需要覆蓋3位或更大的數字。
# ^[0-9]*(?:12[5-9]|1[3-9][0-9]|[2-9][0-9]{2}|[1-9][0-9]{3,})$
^
[0-9]*
(?:
12 [5-9]
|
1 [3-9] [0-9]
|
[2-9] [0-9]{2}
|
[1-9] [0-9]{3,}
)
$
按您要添加125爲最小值的問題,那麼你可以處理它像
/([1-9][0-9]{3,}|12[5-9]|1[3-9][0-9]|[2-9][0-9][0-9])/
查找測試用例加入到這一鏈接如下:
- 1. 正則表達式爲最小長度的非小數點
- 2. 正則表達式的最小值和範圍數
- 3. 正則表達式替換爲小數
- 4. 正則表達式允許最大值爲4位小數的負值
- 5. 最大長度爲小數的正則表達式
- 6. 用掩碼RegEx正則表達式定義小數最大值
- 7. 將字符串數組減至最小正則表達式值
- 8. 正則表達式href最小長度
- 9. 在正則表達式最小匹配
- 10. 正則表達式最小化CSS
- 11. 數值正則表達式
- 12. 正則表達式正則表達式返回的值正則表達式
- 13. 正則表達式接受小於最大大小的數字
- 14. 最小最大正則表達式爲QtCore.QRegExp
- 15. 小數的正則表達式
- 16. 小數的正則表達式?
- 17. 帶小數的正則表達式
- 18. 正則表達式將值限制爲兩位小數
- 19. 小vim正則表達式
- 20. 正則表達式小寫
- 21. 正則表達式:字符串中的最小位數總數
- 22. PHP-MySQLi替換爲正則表達式/正則表達式/正則表達式
- 23. 在雙精度上的最大值和最小值的正則表達式
- 24. 正則表達式的值= 「...」
- 25. 選擇正則表達式的正則表達式中間值
- 26. 正則表達式 - 表達式$ {值}
- 27. 計算器正則表達式小數
- 28. 正則表達式數字小於82
- 29. PHP中數值和單個小數位的正則表達式
- 30. 什麼是數值到2位小數的正則表達式?
你嘗試過什麼嗎? http://www.regular-expressions.info/numericranges.html – Bergi 2014-09-23 17:55:45
AFAIK正則表達式不能這樣做。您可能可以使它適用於0到999之間的數字,但不適用於任意數量的數字。無論哪種方式,轉換爲int並檢查值可能更簡單。 – 2014-09-23 17:56:35
你爲什麼要使用正則表達式? – 2014-09-23 17:57:02