标签:
一、问题描述
1. 三个编辑框,允许1到6个英文字符或数字,按OK结束。
二、等价类划分
1. 有效等价类:
长度: 1、2、3、4、5、6; 非0 不超过6
字符: a-z, A-Z, 0-9
2. 无效等价类:
长度: 0,7
字符: 英文/数字以外字符,控制字符,标点符号
三、实现方法
同样的在该例中也是采用javascript来验证输入的字符串,由于是三个文本框,采用循环验证的方法并记录每一个文本框的验证结果,使用条件语句对每种结果进行判断并给出相应的提示。
四、测试用例
| 编号 | 输入 | 预期输出 |
| 1 |
String 1="123", String 2="abc", String 3="123abc" |
全部正确 |
| 2 |
String 1="", String 2="abc", String 3="123abc" |
框1格式错误 |
| 3 |
String 1="123a!", String 2="abc", String 3="123abc" |
框1格式错误 |
| 4 |
String 1="123", String 2="", String 3="123abc" |
框2格式错误 |
| 5 |
String 1="123", String 2="abc!", String 3="123abc" |
框2格式错误 |
| 6 |
String 1="123", String 2="abc", String 3="" |
框3格式错误 |
| 7 |
String 1="123", String 2="abc", String 3="123a!" |
框3格式错误 |
| 8 |
String 1="123!", String 2="", String 3="123abc" |
框1和框2格式错误 |
| 9 |
String 1="123!", String 2="abc", String 3="123abcd" |
框1和框3格式错误 |
| 10 |
String 1="123", String 2="abc!", String 3="123abcd" |
框2和框3格式错误 |
| 11 |
String 1="", String 2="abc!", String 3="123abcd" |
全部格式错误 |
五、代码如下(C#实现)
namespace SoftwareTest1
2 {
3 public partial class Form1 : Form
4 {
5 private string result;
6 private int r;
7
8 public Form1()
9 {
10 InitializeComponent();
11 }
12
13 private void button1_Click(object sender, EventArgs e)
14 {
15 r = 0;
16 string input1 = textBox1.Text;
17 string input2 = textBox2.Text;
18 string input3 = textBox3.Text;
19 result = "Name1: ";
20 checkInput(input1);
21 result += "\nName2: ";
22 checkInput(input2);
23 result += "\nName3: ";
24 checkInput(input3);
25 if (r == 3)
26 {
27 result = "输入全部正确";
28 }
29 else
30 {
31 result += "\n请重新输入";
32 }
33 MessageBox.Show(result);
34 }
35
36 private bool legalStr(string str)
37 {
38 for (int i = 0; i < str.Length; i++)
39 {
40 if ((str[i] < ‘a‘ || str[i] > ‘z‘) && (str[i] < ‘A‘ || str[i] > ‘Z‘) && (str[i] < ‘0‘ || str[i] > ‘9‘))
41 return false;
42 }
43 return true;
44 }
45
46 private void checkInput(string input)
47 {
48 if (input.Length == 0)
49 {
50 result += "输入为空";
51 return;
52 }
53 if (input.Length > 6)
54 {
55 result += "长度不合法";
56 return;
57 }
58 else if (!legalStr(input))
59 {
60 result += "含有非法字符";
61 return;
62 }
63 else
64 {
65 r += 1;
66 result += "输入正确";
67 return;
68 }
69 }
70 }
71 }标签:
原文地址:http://www.cnblogs.com/PreTang/p/4376645.html