首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使MaskedEditExtender蒙版可选

使MaskedEditExtender蒙版可选
EN

Stack Overflow用户
提问于 2015-09-01 19:26:49
回答 2查看 2K关注 0票数 1

这里我有一个MaskedEditExtender,其中一个验证器使用正则表达式。

它用8或9位数字验证电话号码:

代码语言:javascript
复制
<asp:TextBox Style="width: 135px" ID="txtTelefone" runat="server"></asp:TextBox>
<ajaxToolkit:MaskedEditExtender
    ID="MaskedEditExtender_Telefone"
    TargetControlID="txtTelefone"
    runat="server"
    Mask="\(99\)9999NN9999"
    OnInvalidCssClass="txt-TextBox-Error"
    ValidateRequestMode="Enabled"
    ErrorTooltipEnabled="True"
    Filtered="-"
    PromptCharacter=" "
    ClearMaskOnLostFocus="false"/>
<ajaxToolkit:MaskedEditValidator
    ID="MaskedEditValidator_Telefone"
    runat="server"
    ControlExtender="MaskedEditExtender_Telefone"
    ControlToValidate="txtTelefone"
    ValidationExpression="^\(\d\d\)\d\d\d\d+-\d\d\d\d$"
    Display="Dynamic"></ajaxToolkit:MaskedEditValidator>

问题是:正如您在regex中看到的那样,用户可以在“)”和“-”之间放置4或5个数字。

但是“面具”字段不允许。

我需要MaskedEditExtender停止哭泣,当我没有键入所有的字符,因为他们是不必要的。我所需要的只是验证我的字段的正则表达式。

MaskedEditExtender的存在只是为了给我一个面具,它允许我只输入数字,并且在乞讨中有一个(99)。它不需要验证任何东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-02 12:45:13

好吧,似乎在MaskedEditExtender中没有这样的功能允许您在掩码中放置比字符更少的内容,所以我做了一个小的解决方案:

我已经在掩码中放置了自动完成,调整了正则表达式,在字符串末尾接受一个空空间,并且每当我想要使用TextBox的值时都会对其进行微调。

  • MaskedEditValidatorValidationExpression="^\(\d{2}\)\d{4,5}-\d{4} *$"
  • MaskedEditExtenderAutoComplete="true" AutoCompleteValue=""
  • CodeBehindtxtTelefone.Text.Trim();

这样,所有未填充的字符都将被替换为字符串末尾的空格,regex将负责验证,Trim()将删除空格。因此,允许您使面具的长度可选。

票数 1
EN

Stack Overflow用户

发布于 2018-08-12 12:06:44

ClearMaskOnLostFocus="true"设置为MaskedEditExtender

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32339452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档