【问题标题】:ASP.NET Regular Expresion don't match when update valueASP.NET 正则表达式不匹配然后更新值
【发布时间】:2020-11-12 07:38:16
【问题描述】:

我有一个带有许多文本框的 ASP.NET 页面,可以在其中以货币格式写入值。 当用户写入一个值时,我执行一个 javascript 函数,该函数通过添加欧元符号和点“。”来格式化数字。将千位和逗号“,”分隔为小数。 要执行格式化,我在 javascript 中执行以下函数

$(function () {
    $("#text1").blur(function () {
        $(this).formatCurrency();
    });
});

这个函数用于正确格式化负数,我只能得到两个结果

  • 正数 € 1.000,00
  • 负数 (€ 1.000,00)

括号内是负数

文本框有以下正则表达式:

<asp:TextBox ID="text1" runat="server" Width="100px"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegEx1" runat="server" ErrorMessage="RangeValidator"
 ValidationExpression="^(-?\$?([1-9]\d{0,2}(,\d{3})*|[1-9]\d*|0|)(.\d{1,2})?|\(\$?([1-9]\d{0,2}(,\d{3})*|[1-9]\d*|0|)(.\d{1,2})?\))$"
ValidationGroup="Group2" CssClass="failureNotification" ControlToValidate="text1"
Display="Dynamic">L'Importo non è corretto</asp:RegularExpressionValidator>

如果我第一次写一个值,这个正则表达式工作得很好,但是如果我更新这个值不匹配。 例子 -我写1000 -java 格式值为 € 1.000,00 -我把数字1改成2 -€ 2.000,00 -我从正则表达式中得到错误,不匹配

如果我删除所有值并写入 2000,效果会很好。

会不会是在javascript中使用blur函数时使用regulaexpresion有问题?

感谢您的帮助

解决方案:

我发现了问题! 正则表达式在 javascript 格式化之前生效。 我更改了正则表达式,现在一切正常。

<asp:RegularExpressionValidator ID="RegularExpressionValidator5" runat="server" ErrorMessage="RangeValidator"
ValidationExpression="^\-?\(?\€? ?(\d{1,3}[.](\d{3}[.])*\d{3}|\d+)([,]\d{1,2})?\)?$"
ValidationGroup="Group2" CssClass="failureNotification" ControlToValidate="b1crediti_soci_dovuti" Diplay="Dynamic">L'Importo non è corretto</asp:RegularExpressionValidator>

我希望这篇文章对某人有所帮助! ;)

【问题讨论】:

  • 与Java的连接在哪里?
  • 对不起,我用过javascript

标签: javascript asp.net regex


【解决方案1】:

即使您为视图使用视图模型,也有正则表达式的特定属性...

[RegularExpression($"^(-?\$?([1-9]\d{0,2}(,\d{3})*|[1-9]\d*|0|)(.\d{1,2})?|\(\$?([1-9]\d{0,2}(,\d{3})*|[1-9]\d*|0|)(.\d{1,2})?\))$")]
public string property { get; set; }

这种对视图数据使用正则表达式的方式将始终适用于您的 asp.net 核心 Web 项目。

【讨论】:

    猜你喜欢
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多