Как проверить текстовое поле из регулярных выражений - PullRequest
0 голосов
/ 05 марта 2020

Я хочу проверить текстовое поле в диапазоне от 0 до 100 (включая десятичные значения «12 .5»). Проблема в том, что на моем сайте используются языки почтения. так что приведенный ниже код работает для Engli sh, но не работает для голландского языка, потому что они используются ',' to '.'.

<div class="medium-6 columns">
                    <asp:TextBox ID="textAdvPacPrecentage" class="PriceEditoTxtBox left PriceEditorAdminFee" runat="server" Text="0"></asp:TextBox>
                    <p>%</p>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Display="Dynamic"
                        Text="*" ControlToValidate="textAdvPacPrecentage" ValidationGroup="SavePriceList"
                        ForeColor="Red" CssClass="pr-req" ValidationExpression="^([0-9]{1,2}){1}(\.[0-9]{1,2})?$"></asp:RegularExpressionValidator>
                     <asp:RequiredFieldValidator ID="clientAdvancePacPerecentage" runat="server" Text="*" Display="Dynamic"
                        ToolTip="Advance package percentage invalid number" ForeColor="Red" CssClass="pr-req" ControlToValidate="textAdvPacPrecentage"
                        ValidationGroup="SavePriceList" />
                </div>

dys

Нужно решение для этого.

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Вы можете использовать

ValidationExpression="^(?:(?:[0-9]|[1-9][0-9]?)(?:[.,][0-9]{1,2})?|100(?:[.,]0{1,2})?)$"

См. Демоверсию regex

Подробности

  • ^ - начало строки
  • (?:(?:[0-9]|[1-9][0-9]?)(?:[.,][0-9]{1,2})?|100(?:[.,]0{1,2})?) - группа без захвата, соответствующая одной из двух альтернатив:
    • (?:[0-9]|[1-9][0-9]?)(?:[.,][0-9]{1,2})? - ди git от 0 до 9 или числа от 10 до 99 (см. часть (?:[0-9]|[1-9][0-9]?)), а затем необязательная последовательность . или ,, а затем одна или две цифры (см. часть (?:[.,][0-9]{1,2})?)
    • | - или
    • 100(?:[.,]0{1,2})? - 100, за которым следует необязательная последовательность . или ,, а затем один или два 0 символа.
  • $ - конец строки
0 голосов
/ 05 марта 2020

Пользователь это регулярное выражение

^(([1-9]?\d|100)([\.,]\d?[1-9])?)$

демо https://regex101.com/r/XBr62L/5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...