标签:
这一次我主要用的是C#中的正则表达式来测试用户输入的字符串是否合法。
这是我的UI界面:
测试用例:
第一步:等价类型的划分
有效等价类 | 无效等价类 |
长度:1到6 | 长度:0或者大于7 |
字符:a-z,A-Z,0-9 | 字符:英文/数字以外字符,控制字符,标点符号 |
第二步:测试用例的生成
编号 | 输入字符 | 期望输出 |
1 | A | 有效输入 |
2 | Z | 有效输入 |
3 | 55136s | 有效输入 |
4 | zAGsdf | 有效输入 |
5 | null | 无效输入 |
6 | @ | 无效输入 |
7 | 空格 | 无效数入 |
8 | *@#$%^ | 无效输入 |
9 | @123 | 无效输入 |
10 | 12345# | 无效输入 |
11 | uyueiuwy | 无效输入 |
测试结果截图:
下面是代码部分:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
String[] str = new String[3];
str[0] = textBox1.Text;
str[1] = textBox2.Text;
str[2] = textBox3.Text;
Boolean res1=System.Text.RegularExpressions.Regex.IsMatch(str[0], @"^[a-zA-Z\d]{1,6}$");
Boolean res2 = System.Text.RegularExpressions.Regex.IsMatch(str[1], @"^[a-zA-Z\d]{1,6}$");
Boolean res3 = System.Text.RegularExpressions.Regex.IsMatch(str[2], @"^[a-zA-Z\d]{1,6}$");
if (res1 && res2 && res3)
{
label4.Text = "输入正确!";
}
else
{
label4.Text = "输入不合法,请重新输入!";
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
label4.Text = "请先输入";
}
private void label4_Click(object sender, EventArgs e)
{
}
}
}
代码中的核心部分就是正则表达式判段输入字符串是否合法的部分,我使用的正则表达式是:
@"^[a-zA-Z\d]{1,6}$"
即判断每一位是否为字母或者数字,且出现的次数为1-6次。
标签:
原文地址:http://www.cnblogs.com/blogcd/p/4375470.html