簡體   English   中英

如何在正則表達式中僅允許3位數字和一個點

[英]How to allow only 3 digit and one dot in Regular Expression

我想這樣做:3.40,且不超過3個字符和一個點:

<md-input-container class="md-block">
                    <label>Marks/CGPA</label>
                    <input type="text" name="education.cgpa" ng-model="education.cgpa"
                           ng-pattern="/^[0-9]{0,4}$/">
                    <div class="input-validation" ng-show="educationSaveForValidate['education.cgpa'].$error.pattern">
                        Insert valid CGPA
                    </div>
                </md-input-container>

如何在正則表達式中僅允許3位數字和一個點?

您可以使用單個正則表達式

ng-pattern="/^(?!.{5})\d*\.?\d+$/"

或-允許使用空字符串:

ng-pattern="/^(?!.{5})\d*\.?\d*$/"

您也可以將長度檢查移出正則表達式:

ng-pattern="/^\d*\.\d*$/" ng-maxlength="4"

細節

  • ^ -字符串開頭
  • (?!.{5}) -如果輸入字符串中有5個字符,則匹配失敗的否定超前
  • \\d* -0+個數字
  • \\.? -可選的.
  • \\d* -零個或多個數字(如果使用\\d+則為1個或多個數字)
  • $ -字符串結尾。

要禁止任何前導/尾隨空格,請添加ng-trim="false"

https://regex101.com/r/kF0hJ5/17

檢查上面的此鏈接,希望對您有所幫助。 很抱歉在這里評論鏈接。 這樣做是因為我的回購減少了。

我已經用這種方式解決了我的問題……

ng-pattern="/^\d\.\d{0,2}$/"

暫無
暫無

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

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