我需要检查用户输入的电话号码,从0开始,长度至少为11。 我怎样才能做到这一点? 这是我的代码:

<Entry x:Name="txtPhoneNumber" Placeholder="شماره تلفن" Margin="5,10,10,5" FlowDirection="RightToLeft"                    MaxLength="11"                    Keyboard="Telephone">                 <Entry.Behaviors>                     <local:NumericValidationBehavior/>                     <local:MaxLengthValidatorBehavior  MaxLength="11"/>                 </Entry.Behaviors>             </Entry> 

这是NumericValidationBehavior类:

public class NumericValidationBehavior : Behavior<Entry> {     protected override void OnAttachedTo(Entry entry)     {         entry.TextChanged += OnEntryTextChanged;         base.OnAttachedTo(entry);     }     protected override void OnDetachingFrom(Entry entry)     {         entry.TextChanged -= OnEntryTextChanged;         base.OnDetachingFrom(entry);     }     private static void OnEntryTextChanged(object sender, TextChangedEventArgs args)     {          if (!string.IsNullOrWhiteSpace(args.NewTextValue))         {             bool isValid = args.NewTextValue.ToCharArray().All(x => char.IsDigit(x)); //Make sure all characters are numbers              ((Entry)sender).Text = isValid ? args.NewTextValue : args.NewTextValue.Remove(args.NewTextValue.Length - 1);         }     } } 

===============>>#1 票数:0 已采纳

您可以在中实现的行为中查看代码

<local:NumericValidationBehavior/> <local:MaxLengthValidatorBehavior  MaxLength="11"/> 

如果您共享这两种行为的代码,我可以给您更清​​楚的了解。

请看下面的代码:

私有静态无效OnEntryTextChanged(对象发送者,TextChangedEventArgs args){

    if (!string.IsNullOrWhiteSpace(args.NewTextValue))     {         bool isFirstNumberZero = args.NewTextValue.ElementAt(0) == '0';         if(!isFirstNumberZero)         {             ((Entry)sender).Text = args.NewTextValue.Remove(args.NewTextValue.Length - 1);             return;         }          bool isValid = args.NewTextValue.ToCharArray().All(x => char.IsDigit(x)); //Make sure all characters are numbers         ((Entry)sender).Text = isValid ? args.NewTextValue : args.NewTextValue.Remove(args.NewTextValue.Length - 1);     } } 

这样,您可以验证两件事:1.第一个数字为0。2.所有输入的字符均为数字。

一旦用户点击某个按钮,例如“完成/提交/登录/下一步”。 到时,您可以验证输入数字的长度,如果长度小于11,则发出警报。

  ask by elham translate from so

本文未有回复,本站智能推荐: