vue3表单参数校验+正则表达式

我们的表单中有用户名、密码、电话号码、邮箱这四个项。

我们设置用户名为3到20位的非空字符

密码为3到25位非空字符

电话号码就用目前用的电话号码正则表达式,要求手机号码以 1 开头,第二位为 3 到 9 之间的数字,后面跟着任意 9 个数字,总共是 11 位数字。

邮箱就用目前用的邮箱正则表达式,要求一个或多个字母、数字或下划线,接着是 @ 符号,然后是一个或多个字母、数字或下划线,接着是一个句点,最后是一个或多个字母、数字或下划线。

首先搭建页面 写几个input框

html 复制代码
                    <el-form ref="form">
                        <el-form-item>
                            <el-input :prefix-icon="User" placeholder="请输入用户名"></el-input>
                        </el-form-item>
                        <el-form-item>
                            <el-input :prefix-icon="Lock" placeholder="请输入密码"></el-input>
                        </el-form-item>
                        <el-form-item>
                            <el-input :prefix-icon="Phone" placeholder="请输入电话号码"></el-input>
                        </el-form-item>
                        <el-form-item>
                            <el-input :prefix-icon="Message" placeholder="请输入邮箱"></el-input>
                        </el-form-item>
                        <el-form-item>
                            <el-button type="primary"
                                       @click="register">注册
                            </el-button>
                        </el-form-item>
                    </el-form>

为了方便传数据到后端,我们就设置前端表单项的属性名和后端的一样。再在<script setup></script>里面定义数据模型为registerData,里面有username,password,phone,email。初始都设为空的

html 复制代码
import {ref} from 'vue'
    //定义数据模型
    const registerData = ref({
        username: '',
        password: '',
        phone: '',
        email: ''
    })
java 复制代码
<el-form-item>
    <el-input :prefix-icon="User" placeholder="请输入用户名"
              v-model="registerData.username"></el-input>
</el-form-item>

比如设置了数据模型名为registerData 后在v-model中用户名我们要写registerData.username。以此类推密码、号码、邮箱。

然后要定义表单规则,校验嘛。我们要写在表单的上面,在<script setup></script>里面生效。

相关推荐
卓码软件测评5 小时前
第三方软件质量检测机构:【Apifox多格式支持处理JSON、XML、GraphQL等响应类型】
前端·测试工具·正则表达式·测试用例·压力测试
j***518915 小时前
Java进阶,时间与日期,包装类,正则表达式
java·mysql·正则表达式
qq_161554989220 小时前
正则表达式
正则表达式
Vic101011 天前
Java正则表达式性能优化指南:编译开销、类加载与线程安全深度解析
java·性能优化·正则表达式
进击的野人2 天前
Node.js文件系统(fs模块)深度解析与实践应用
后端·正则表达式·node.js
r***01382 天前
Java进阶,时间与日期,包装类,正则表达式
java·mysql·正则表达式
last demo2 天前
Linux 正则表达式
linux·mysql·正则表达式
f***6512 天前
SQL中的REGEXP正则表达式使用指南
数据库·sql·正则表达式
生而为虫2 天前
30.正则表达式的应用
python·正则表达式·django·flask·fastapi·tornado
課代表4 天前
Windows 文本搜索命令 findstr
windows·正则表达式·命令行·文本·匹配·搜索·findstr