iT邦幫忙

1

正則0-100 最多小數兩位

ddx 2021-09-16 15:07:23988 瀏覽

如標題
我原本是用這個條件

^(((\\d{1,2})[.]((\\d{1,2})?))|100|(?:0|[1-9][0-9]?)|100.00|100.0)$

但是發現輸入10000和100000會過
標題的那個條件要如何下?

frank575 iT邦新手 4 級 ‧ 2021-09-16 16:59:02 檢舉
可以試試看這個,^(\d{0,2}|100)(\.+\d{0,2}|)$,寫完稍微測了一下,應該是符合需求
ddx iT邦新手 5 級 ‧ 2021-09-16 17:44:12 檢舉
感謝回答,也可以用呢

2 個回答

3
japhenchen
iT邦大師 1 級 ‧ 2021-09-16 15:18:27
最佳解答

借花

/^([0-9]\.[0-9]{1}|[0-9]\.[0-9]{2}|\.[0-9]{2}|[1-9][0-9]\.[0-9]{1}|[1-9][0-9]\.[0-9]{2}|[0-9][0-9]|[1-9][0-9]\.[0-9]{2})$|^([0-9]|[0-9][0-9]|[0-99])$|^100$/gm

https://regex101.com/r/hQUsJz/1
https://ithelp.ithome.com.tw/upload/images/20210916/20117954ReiWFEJ6VC.jpg

ddx iT邦新手 5 級 ‧ 2021-09-16 15:36:27 檢舉

感謝大師~!

加個trim()把字串排除尾端空白看看

ddx iT邦新手 5 級 ‧ 2021-09-16 15:48:23 檢舉

我找到問題了 感謝:)

1
miku3920
iT邦新手 4 級 ‧ 2021-09-17 02:26:46

可以 100.00 對吧?

/^([1-9]?\d(\.\d{1,2})?|100(\.0{1,2})?)$/

https://regex101.com/r/q2vmKJ/1
https://ithelp.ithome.com.tw/upload/images/20210917/201329164pDXAuRPIM.png

看更多先前的回應...收起先前的回應...
miku3920 iT邦新手 4 級 ‧ 2021-09-17 02:32:48 檢舉
miku3920 iT邦新手 4 級 ‧ 2021-09-17 02:37:09 檢舉

阿,這樣可以 100.23,明天再修,手機有夠難打

miku3920 iT邦新手 4 級 ‧ 2021-09-17 02:49:55 檢舉

/^([1-9]?\d(\.\d{1,2})?|100(\.0{1,2})?)$/,https://regex101.com/r/q2vmKJ/1

ddx iT邦新手 5 級 ‧ 2021-09-17 16:10:41 檢舉

感謝回答,這個也能用呢

我要發表回答

立即登入回答