假设一个软件注册用户账号,账号用户名是3到10个字符,可以使用字母、数字和下划线,并且不能以数字开头。用等价类划分法设计测试用例。
时间: 2023-05-27 17:07:34 浏览: 175
1. 正确的用户名:长度为3-10个字符,由字母、数字和下划线组成,且以字母或下划线开头。
2. 用户名长度小于3个字符:长度小于3个字符的用户名。
3. 用户名长度大于10个字符:长度大于10个字符的用户名。
4. 用户名包含非法字符:包含除字母、数字和下划线以外的字符的用户名。
5. 用户名以数字开头:以数字开头的用户名。
6. 用户名以下划线开头:以下划线开头的用户名。
测试用例设计如下:
| 测试用例编号 | 输入数据 | 预期结果 |
|--------------|----------|----------|
| 1 | abc123_ | 合法用户名 |
| 2 | ab | 非法用户名 |
| 3 | abcdefghijkl | 非法用户名 |
| 4 | abc#123 | 非法用户名 |
| 5 | 1abc123 | 非法用户名 |
| 6 | _abc123 | 非法用户名 |
相关问题
用正则表达式验证用户名,由英文字母、数字或者下划线组成.长度为4到16个字符,首位不能是数字
可以使用以下正则表达式进行验证:
```^[a-zA-Z][a-zA-Z0-9_]{3,15}$```
解释如下:
- `^` 表示字符串的开头
- `[a-zA-Z]` 表示匹配一个英文字母
- `[a-zA-Z0-9_]` 表示匹配一个英文字母、数字或下划线
- `{3,15}` 表示匹配前面的字符或字符组合,出现 3 到 15 次
- `$` 表示字符串的结尾
因此,以上正则表达式可以匹配长度为4到16个字符、由英文字母、数字或下划线组成,且首位为英文字母的用户名。
用vue3和element-plus完成一个注册界面。对于登录密码,需要8到32个字符,必须包含字母,数字,和特殊字符。对于用户账号可以包含字母,下划线和数字,但需以字母开头
。代码如下:
```html
<template>
<div class="register">
<el-form :model="registerForm" :rules="registerRules" ref="registerForm" label-width="100px">
<el-form-item label="用户账号" prop="username">
<el-input v-model="registerForm.username"></el-input>
</el-form-item>
<el-form-item label="登录密码" prop="password">
<el-input type="password" v-model="registerForm.password"></el-input>
</el-form-item>
<el-form-item label="确认密码" prop="confirmPassword">
<el-input type="password" v-model="registerForm.confirmPassword"></el-input>
</el-form-item>
<el-form-item label="昵称" prop="nickname">
<el-input v-model="registerForm.nickname"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="register">注册</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { defineComponent } from 'vue'
import { ElForm, ElFormItem, ElInput, ElButton } from 'element-plus'
export default defineComponent({
name: 'Register',
components: {
ElForm,
ElFormItem,
ElInput,
ElButton,
},
data() {
return {
registerForm: {
username: '',
password: '',
confirmPassword: '',
nickname: '',
},
registerRules: {
username: [
{ required: true, message: '请输入用户账号', trigger: 'blur' },
{
pattern: /^[a-zA-Z][a-zA-Z0-9_]*$/,
message: '用户账号需以字母开头,只能包含字母、下划线和数字',
trigger: 'blur',
},
],
password: [
{ required: true, message: '请输入登录密码', trigger: 'blur' },
{ min: 8, max: 32, message: '登录密码长度需为8到32个字符', trigger: 'blur' },
{
pattern: /^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#$%^&*])[0-9a-zA-Z!@#$%^&*]+$/,
message: '登录密码需包含字母、数字和特殊字符',
trigger: 'blur',
},
],
confirmPassword: [
{ required: true, message: '请确认登录密码', trigger: 'blur' },
{
validator: (rule, value, callback) => {
if (value !== this.registerForm.password) {
callback(new Error('两次输入的密码不一致'))
} else {
callback()
}
},
trigger: 'blur',
},
],
nickname: [{ required: true, message: '请输入昵称', trigger: 'blur' }],
},
}
},
methods: {
register() {
this.$refs.registerForm.validate((valid) => {
if (valid) {
console.log('注册成功')
} else {
console.log('校验失败')
return false
}
})
},
},
})
</script>
```
在这个组件中,我们使用了Element Plus提供的表单组件,包括`ElForm`、`ElFormItem`、`ElInput`和`ElButton`。我们将表单数据存储在`registerForm`中,表单校验规则存储在`registerRules`中。
在校验规则中,我们使用了正则表达式来校验用户账号和登录密码的格式。对于确认密码,我们使用了自定义校验函数来判断两次输入的密码是否一致。
最后,在提交注册时,我们使用`validate`方法来校验表单数据。如果校验通过,我们可以在`register`方法中进行注册操作,否则提示校验失败。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)