一、问题描述
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