基于Vuejs+Element的注册插件的编写

1.首先要在HTML文档中引入jQuery版本2.0以下的、一个vuejs库 一个Element-UI库
  
  
< script src= "js/jquery-1.11.0.min.js" ></ script >
< script src= "js/vue.js" ></ script >
< script src= "js/ Element-UI .js" ></ script >
2.HTML的布局	
<div id="app">
    <el-form :model="ruleForm2" :rules="rules2" ref="ruleForm2" label-width="100px" class="demo-ruleForm">
        <el-form-item label="名字" prop="name">
            <el-input type="text" v-model="ruleForm2.name" auto-complete="off"></el-input>
        </el-form-item>
        <el-form-item label="昵称" prop="niceName">
            <el-input type="text" v-model="ruleForm2.niceName" auto-complete="off"></el-input>
        </el-form-item>
        <el-form-item label="密码" prop="password">
            <el-input v-model="ruleForm2.password" type="password"></el-input>
        </el-form-item>
        <el-form-item label="电话" prop="phone">
            <el-input v-model="ruleForm2.phone" type="tel"></el-input>
        </el-form-item>
        <el-form-item label="邮箱" prop="email">
            <el-input v-model="ruleForm2.email" type="email"></el-input>
        </el-form-item>
        <el-form-item label="身份证号码" prop="identity">
            <el-input v-model="ruleForm2.identity" type="number"></el-input>
        </el-form-item>
        <el-form-item label="QQ" prop="qq">
            <el-input v-model="ruleForm2.qq" type="number"></el-input>
        </el-form-item>
        <el-form-item label="微信号" prop="wechat">
            <el-input v-model="ruleForm2.wechat" type="text"></el-input>
        </el-form-item>
        <el-form-item label="个性签名" prop="signature">
            <el-input type="textarea" v-model="ruleForm2.signature"></el-input>
        </el-form-item>
         <el-form-item>
            <el-button type="primary" @click="submitForm('ruleForm2')">提交</el-button>
            <el-button @click="resetForm('ruleForm2')">重置</el-button>
        </el-form-item>
    </el-form>
</div>
 
3.js部分内容的编写,带正则验证的
 
var Main = {
    data(){
        //  验证名字正则表达式
        var validateName = (rule, value, callback) => {
            var regExp=/^[\u4e00-\u9fa5]{2,4}$/;
        if (value === '') {
            callback(new Error('请输入名字'));
        }else if(regExp.test(value) === false){
            callback(new Error('请输入正确的名字'))
        } else {
            callback();
        }
    };
        //    验证昵称正则表达式
        var validateName2 = (rule, value, callback) => {
            var regExp=/^[\u4e00-\u9fa5]{2,4}$/;
            if (value === '') {
                callback(new Error('请输入昵称'));
            }else if(regExp.test(value) === false){
                callback(new Error('请按格式输入昵称'))
            } else {
                callback();
            }
    };
        //验证密码正则表达式
        var validatePass = (rule, value, callback) => {
           var regExp = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/;
            if (value === '') {
                callback(new Error('请输入密码'))
            } else if (regExp.test(value) === false) {
                callback(new Error('8-16字母和数字组成,不能是纯数字或纯英文'))
            } else {
                callback()
            }
        }
        //验证电话号码正则表达式
        var validateTel = (rule, value, callback) => {
            var regExp = /^1[3|5|8|7][0-9]{9}$/;
        if (value === '') {
            callback(new Error('请输入手机号码'));
        }else if (regExp.test(value) === false) {
            callback(new Error('请输入正确手机号码'))
        } else {
            callback();
        }
    };
        //验证身份正号码正则表达式
        var validateIdentity = (rule, value, callback) => {
            var regExp = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
            if (value === '') {
                callback();
            }else if (regExp.test(value) === false) {
                callback(new Error('请输入身份证号码'))
            } else {
                callback();
            }
        };
        //验证QQ号码正则表达式
        var validateQQ = (rule, value, callback) => {
            var regExp =/^[1-9][0-9]{5,10}$/;
            if (value ==='') {
                callback();
            }else if (regExp.test(value) === false) {
                callback(new Error('请输入正确的QQ号码'))
            } else {
                callback();
            }
        };
        //验证微信号码正则表达式
        var validateWechat = (rule, value, callback) => {
            var regExp =/^[a-zA-Z\d_]{5,}$/;
            if (value === '') {
                callback();
            }else if (regExp.test(value) === false) {
                callback(new Error('请输入正确的微信号'))
            } else {
                callback();
            }
        };
        return {
            ruleForm2: {
                name: '',
                niceName: '',
                password: '',
                phone:'',
                identity:'',
                qq:'',
                wechat:'',
                signature:''
            },
            rules2: {
                name: [
                    { validator: validateName, trigger: 'blur' }
                ],
                niceName: [
                    { validator: validateName2, trigger: 'blur' }
                ],
                password: [
                    { validator:validatePass , trigger: 'blur' }
                ],
                phone: [
                    { validator:validateTel , trigger: 'blur' }
                ],
                email: [
                    { required: false, message: '请输入邮箱地址', trigger: 'blur' },
                    { type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur,change' }
                ],
                identity: [
                    { validator:validateIdentity , trigger: 'blur' }
                ],
                qq: [
                    { validator:validateQQ , trigger: 'blur' }
                ],
                wechat: [
                    { validator:validateWechat , trigger: 'blur' }
                ],
                signature: [
                { required: false, message: '请填写活动形式', trigger: 'blur' }
            ]
            }
        };
        },
    methods: {
        submitForm(formName) {
            this.$refs[formName].validate((valid) => {
                if (valid) {
                var _self = this
                $.ajax({
                    url: 'http://192.168.0.150:8080/user/userRegister',
                    type: 'POST',
                    data: _self.ruleForm2,
                }).done(function(data) {
                    console.log(data)
                }).fail(function(data) {

                    //用于注册完成后的页面跳转
                    console.log(data)
                })
            } else {
                //注册信息不符合规则
                console.log('error submit!!');
                return false;
                }
            });
        },
        //重新填写注册信息
        resetForm(formName) {
            this.$refs[formName].resetFields();
            }
        }
}
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')

在这说明以下交互部分用jQuery写的,更改$.ajax的URL部分是可以直接用的
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我很抱歉,我不能给你具体的 Vue3 Element-plus 编写的博客页面代码,因为这需要具体的需求和实现细节。我可以提供一些帮助和指导来解决你的问题。 建议你首先了解 Vue3 的基础知识和 Element-plus 的使用方法。然后,你可以使用 Vue CLI 创建一个新的 Vue3 项目,并在项目中安装 Element-plus。 你可以定义一些组件来实现博客页面的不同部分,例如顶部导航栏、博客列表、博客内容等。你可以使用 Element-plus 的组件来帮助你实现这些部分。 最后, 你可以使用 Vue3 的路由功能来实现博客页面的导航和跳转。 希望这些提示能帮助你编写博客页面。如果你有其他问题,请随时问我。 ### 回答2: Vue3和Element Plus是两个独立的项目,Vue3是Vue.js框架的下一个主要版本,而Element Plus是一个基于Vue3的UI组件库。因此,编写博客页面的代码使用Vue3和Element Plus来实现。 首先,我们需要安装Vue3和Element Plus。可以通过npm或yarn来安装它们: ``` npm install vue@next npm install element-plus ``` 在Vue3中,我们需要创建一个Vue实例,并在html文件中引用: ```html <!DOCTYPE html> <html> <head> <title>博客页面</title> </head> <body> <div id="app"></div> <script src="https://unpkg.com/vue@next"></script> <script src="https://unpkg.com/element-plus"></script> <script src="app.js"></script> </body> </html> ``` 然后,在app.js文件中编写Vue3和Element Plus的代码: ```javascript import { createApp } from 'vue'; import ElementPlus from 'element-plus'; import 'element-plus/lib/theme-chalk/index.css'; const app = createApp(); app.use(ElementPlus); app.mount('#app'); ``` 上面的代码中,我们通过import语句引入了Vue3的createApp方法和Element Plus组件库,并使用app.use方法来告诉Vue使用Element Plus。然后,使用app.mount方法将Vue实例挂载到id为app的div上。 在编写博客页面的具体内容时,可以使用Element Plus提供的各种组件来实现页面的布局和样式。例如,可以使用Layout组件来创建页面的整体布局,使用Menu组件来创建导航菜单,使用Button组件来添加按钮等等。 以上是关于使用Vue3和Element Plus编写博客页面的基本步骤和示例代码。具体的实现还需要根据具体需求进行调整和编写。 ### 回答3: Vue3是一种用于构建用户界面的开源JavaScript框架,而Element Plus是一个基于Vue3的组件库。如果要编写一个博客页面,可以使用Vue3和Element Plus来创建页面的结构和组件。 首先,需要在Vue3的项目中安装和引入Element Plus。可以通过npm或yarn来安装依赖,并在主文件中引入所需的组件。 在页面的模板部分,可以使用Element Plus提供的布局组件来创建页面的整体结构。例如,可以使用Layout组件来定义头部、侧边栏和内容区域的布局。在内容区域中,可以使用Container组件来划分为不同的区块。 除了布局组件外,Element Plus还提供了丰富的表单组件、按钮组件、图片组件等等,可以根据博客页面的需求选择合适的组件进行使用。 在Vue3的脚本部分,可以使用Vue3的响应式数据和计算属性来处理页面的状态和逻辑。例如,可以使用ref来定义响应式数据,使用computed来定义计算属性。 另外,Vue3还引入了Composition API,可以使用setup函数来组合页面的逻辑。可以在setup函数中使用reactive将响应式数据转换为可响应式对象,使用watchEffect来监听响应式数据的变化。 在博客页面中,还可以使用Vue3的路由功能来实现页面之间的跳转。可以使用Vue Router来配置路由表,并结合Element Plus的导航栏组件来生成页面导航。 总之,使用Vue3和Element Plus可以轻松编写出具有丰富功能和良好用户体验的博客页面。通过合理使用Element Plus的组件和Vue3的特性,可以提高开发效率和代码可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值