テキストボックスのイベントを変更するには、正規表現を使用します

テキストボックスのイベントを変更するには、正規表現を使用します

開発ツールとキーテクノロジー:Visual Studioの2015年、WPFの
著者:黄元への
書き込み時間:2019年5月14日

まず、ウィンドウを構築し、TextBlockのは、グリッドレイアウト(テキストブロック)を書き、テキストボックス(テキストボックス)名のテキストボックスを設定し、国内の電話番号は現在、唯一の11桁の数字ですので、のMaxLength設定を使用し、新しいTextChangedとより原始的なイベントページ。XAMLコードで達成するために:

<Window x:Class="Wpf1.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Wpf1"
Title="使用正则表达式改变文本框事件" Height="300"Width="300">
<Grid>
<TextBlock Text="手机号码:"/>
<TextBox x:Name="cs"Margin="67,0,46.6,241" MaxLength="11" TextChanged="cs_TextChanged"/>
</Grid>
</Window>

その後、コードはバックグラウンドにジャンプし、次のように、正規表現マッチの使用は、決定されます。

usingSystem.Text.RegularExpressions;
usingSystem.Windows;
usingSystem.Windows.Controls;

namespace Wpf1
{
/// <summary>
/// Window2.xaml 的交互逻辑
/// </summary>
public partial class Window2 : Window
{
public Window2()
{
InitializeComponent();
}
private void cs_TextChanged(objectsender, TextChangedEventArgs e)
{
string strcs = cs.Text.Trim();
if (strcs.Length == 11)
{
//使用正则表达式判断是否匹配 
if (!Regex.IsMatch(strcs, @"^0?(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[89])[0-9]{8}$"))
{
MessageBox.Show("手机号格式不对,请重新输入!");
cs.Text = "";
               }
            }
      }
   }
}

レンダリング1(唯一の11桁の数字を入力して判決文を作成しません入力した電話番号の形式、)
ここに画像を挿入説明

エフェクト2(、正しい形式の確立に電話番号を入力のみ11桁の数字を入力して設定します
ここに画像を挿入説明

おすすめ

転載: blog.csdn.net/weixin_44547949/article/details/90211651