亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

十進制數正則表達式,其中十進制后的數字是可選的

十進制數正則表達式,其中十進制后的數字是可選的

慕田峪4524236 2019-12-11 14:09:46
我需要一個驗證數字的正則表達式,但不需要小數點后的數字。即。123123.123.4都是有效的123..將無效任何將不勝感激!
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

使用以下內容:


/^\d*\.?\d*$/

^ -生產線的起點;

\d* -0或更多數字;

\.?-一個可選的點(由于在正則表達式中轉義,.是一個特殊字符);

\d* -0或更多數字(小數部分);

$ - 隊伍的盡頭。

這允許0.5小數而不是要求前導零,例如0.5



查看完整回答
反對 回復 2019-12-12
?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

/\d+\.?\d*/

一個或多個數字(\d+),可選的句點(\.?),零個或多個數字(\d*)。


根據您的用法或正則表達式引擎,您可能需要添加開始/結束行錨點:


/^\d+\.?\d*$/

http://img1.sycdn.imooc.com//5db654730001348902540040.jpg


查看完整回答
反對 回復 2019-12-12
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

您需要如下所示的正則表達式才能正確執行此操作:


/^[+-]?((\d+(\.\d*)?)|(\.\d+))$/

使用擴展修飾符(Perl支持)的帶空格的相同表達式:


/^  [+-]? ( (\d+ (\.\d*)?)  |  (\.\d+) ) $/x

或帶有注釋:


/^           # Beginning of string

 [+-]?       # Optional plus or minus character

 (           # Followed by either:

   (           #   Start of first option

     \d+       #   One or more digits

     (\.\d*)?  #   Optionally followed by: one decimal point and zero or more digits

   )           #   End of first option

   |           # or

   (\.\d+)     #   One decimal point followed by one or more digits

 )           # End of grouping of the OR options

 $           # End of string (i.e. no extra characters remaining)

 /x          # Extended modifier (allows whitespace & comments in regular expression)

例如,它將匹配:


123

23.45

34。

.45

-123

-273.15

-42。

-.45

+516

+9.8

+2。

+.5

并將拒絕這些非數字:


。(單小數點)

- (負小數點)

+。(加上小數點)

(空字符串)

比較簡單的解決方案可能會錯誤地拒絕有效數字或匹配這些非數字。



查看完整回答
反對 回復 2019-12-12
  • 3 回答
  • 0 關注
  • 524 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號