zoukankan      html  css  js  c++  java
  • 使用Vue写一个登陆页面并在管理页面查看和修改

    注册页面
    代码如下
    html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>注册</title>
     6     <link rel="stylesheet" href="css/register.css">
     7     <link rel="stylesheet" href="lib/bootstrap-3.3.7.css">
     8     <script src="lib/vue-2.4.0.js"></script>
     9 </head>
    10 <body>
    11 <div id="app">
    12 
    13     <div class="container">
    14         <div class="center-block">
    15             <form class="form-signin input-group-lg col-lg-5 col-md-offset-3" @submit="checkForm">
    16 
    17                 <h2 class="form-signin-heading">用户注册</h2>
    18 
    19                 <label for="username"></label>
    20                 <input type="text" id="username" class="form-control" placeholder="用户名" v-model="username">
    21 
    22                 <label for="email" class="sr-only">邮件</label>
    23                 <input type="email" id="email" class="form-control" placeholder="邮件地址" v-model="email">
    24 
    25                 <label for="password" class="sr-only">密码</label>
    26                 <input type="password" id="password" class="form-control" placeholder="密码" v-model="password">
    27 
    28                 <label for="telephone" class="sr-only">电话</label>
    29                 <input type="text" id="telephone" class="form-control" placeholder="请输入你的电话" v-model="telephone">
    30 
    31                 <div class="checkbox">
    32                     <label>
    33                         <input type="checkbox" value="remember-me"> 记住我
    34                     </label>
    35                 </div>
    36                 <button class="btn btn-lg btn-primary btn-block" type="submit button" @click="addUserInfo">注册</button>
    37             </form>
    38         </div>
    39 
    40     </div>
    41     <div id="error" class="container col-md-offset-4">
    42         <p v-if="errors.length">
    43             <b>错误的结果:</b>
    44         <ul>
    45             <li v-for="error in errors">{{ error }}</li>
    46         </ul>
    47         </p>
    48     </div>
    49 
    50     <!--<div v-if="userInfo.length === 0">-->
    51 
    52     <!--</div>-->
    53     <!--<div id="jieshou" class="container col-md-offset-4" v-else>-->
    54         <!--<ul v-for="(item,index) in userInfo">-->
    55             <!--<li>用户名:{{item.username}}</li>-->
    56             <!--<li>密码:{{item.password}}</li>-->
    57             <!--<li>电话:{{item.telephone}}</li>-->
    58             <!--<li>邮件:{{item.email}}</li>-->
    59         <!--</ul>-->
    60     </div>
    61 
    62 </div>
    63 </body>
    64 </html>
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>注册</title>
     6     <link rel="stylesheet" href="css/register.css">
     7     <link rel="stylesheet" href="lib/bootstrap-3.3.7.css">
     8     <script src="lib/vue-2.4.0.js"></script>
     9 </head>
    10 <body>
    11 <div id="app">
    12 
    13     <div class="container">
    14         <div class="center-block">
    15             <form class="form-signin input-group-lg col-lg-5 col-md-offset-3" @submit="checkForm">
    16 
    17                 <h2 class="form-signin-heading">用户注册</h2>
    18 
    19                 <label for="username"></label>
    20                 <input type="text" id="username" class="form-control" placeholder="用户名" v-model="username">
    21 
    22                 <label for="email" class="sr-only">邮件</label>
    23                 <input type="email" id="email" class="form-control" placeholder="邮件地址" v-model="email">
    24 
    25                 <label for="password" class="sr-only">密码</label>
    26                 <input type="password" id="password" class="form-control" placeholder="密码" v-model="password">
    27 
    28                 <label for="telephone" class="sr-only">电话</label>
    29                 <input type="text" id="telephone" class="form-control" placeholder="请输入你的电话" v-model="telephone">
    30 
    31                 <div class="checkbox">
    32                     <label>
    33                         <input type="checkbox" value="remember-me"> 记住我
    34                     </label>
    35                 </div>
    36                 <button class="btn btn-lg btn-primary btn-block" type="submit button" @click="addUserInfo">注册</button>
    37             </form>
    38         </div>
    39 
    40     </div>
    41     <div id="error" class="container col-md-offset-4">
    42         <p v-if="errors.length">
    43             <b>错误的结果:</b>
    44         <ul>
    45             <li v-for="error in errors">{{ error }}</li>
    46         </ul>
    47         </p>
    48     </div>
    49 
    50     <!--<div v-if="userInfo.length === 0">-->
    51 
    52     <!--</div>-->
    53     <!--<div id="jieshou" class="container col-md-offset-4" v-else>-->
    54         <!--<ul v-for="(item,index) in userInfo">-->
    55             <!--<li>用户名:{{item.username}}</li>-->
    56             <!--<li>密码:{{item.password}}</li>-->
    57             <!--<li>电话:{{item.telephone}}</li>-->
    58             <!--<li>邮件:{{item.email}}</li>-->
    59         <!--</ul>-->
    60     </div>
    61 
    62 </div>
    63 </body>
    64 </html>


    javascript

     1 <script>
     2 
     3     var vm = new Vue({
     4         el: '#app',
     5         data: {
     6             errors: [],
     7             username: null,
     8             email: null,
     9             password: null,
    10             telephone: null,
    11             userInfo: JSON.parse(localStorage.getItem('userInfo')) || []
    12         },
    13         methods: {
    14             checkForm: function (e) {
    15                 if (this.username && this.email && this.password && this.telephone) {
    16                     return true;
    17                 }
    18 
    19                 this.errors = [];
    20 
    21                 if (!this.username) {
    22                     this.errors.push('请输入用户名');
    23                 } else if (!this.vaildUsername(this.username)) {
    24                     this.errors.push('请输入4-16个英文大小写和数字的组合');
    25                 }
    26 
    27                 if (!this.email) {
    28                     this.errors.push('请输入邮件');
    29                 } else if (!this.vaildEmail(this.email)) {
    30                     this.errors.push('邮件格式为xx@xx.com');
    31                 }
    32 
    33                 if (!this.password) {
    34                     this.errors.push('请输入密码');
    35                 } else if (!this.vaildPassword(this.password)) {
    36                     this.errors.push('密码有误');
    37                 }
    38 
    39                 if (!this.telephone) {
    40                     this.errors.push('请输入手机号');
    41                 } else if (!this.vaildTelephone(this.telephone)) {
    42                     this.errors.push('手机号为11个纯数字组合')
    43                 }
    44 
    45                 e.preventDefault();
    46             },
    47 
    48             vaildUsername: function (username) {   //用户名表单效验
    49                 var re = /^[a-zA-Z0-9_-]{4,16}$/;
    50                 return re.test(username);
    51             },
    52 
    53             vaildEmail: function (email) {  //表单邮件的效验
    54                 var re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/;
    55                 return re.test(email);
    56             },
    57 
    58             vaildPassworld: function (password) {    //表单密码的效验
    59                 var re = /^[a-zA-Z0-9_-]{4,16}$/;
    60                 return re.test(password);
    61             },
    62 
    63             vaildTelephone: function (telephone) {    //表单电话的效验
    64                 var re = /^d{11,20}$/;
    65                 return re.test(telephone);
    66             },
    67 
    68             addUserInfo() {
    69                 if (this.username && this.password && this.email && this.telephone) {
    70                     var obj = {
    71                         username: this.username,
    72                         password: this.password,
    73                         email: this.email,
    74                         telephone: this.telephone
    75                     }
    76                     this.userInfo.push(obj)
    77                     localStorage.setItem('userInfo', JSON.stringify(this.userInfo))
    78                     this.username = ''
    79                     this.password = ''
    80                     this.email = ''
    81                     this.telephone = ''
    82                 }
    83                 window.open('management.html')
    84             }
    85 
    86         }
    87     })
    88 </script>
     1 <script>
     2 
     3     var vm = new Vue({
     4         el: '#app',
     5         data: {
     6             errors: [],
     7             username: null,
     8             email: null,
     9             password: null,
    10             telephone: null,
    11             userInfo: JSON.parse(localStorage.getItem('userInfo')) || []
    12         },
    13         methods: {
    14             checkForm: function (e) {
    15                 if (this.username && this.email && this.password && this.telephone) {
    16                     return true;
    17                 }
    18 
    19                 this.errors = [];
    20 
    21                 if (!this.username) {
    22                     this.errors.push('请输入用户名');
    23                 } else if (!this.vaildUsername(this.username)) {
    24                     this.errors.push('请输入4-16个英文大小写和数字的组合');
    25                 }
    26 
    27                 if (!this.email) {
    28                     this.errors.push('请输入邮件');
    29                 } else if (!this.vaildEmail(this.email)) {
    30                     this.errors.push('邮件格式为xx@xx.com');
    31                 }
    32 
    33                 if (!this.password) {
    34                     this.errors.push('请输入密码');
    35                 } else if (!this.vaildPassword(this.password)) {
    36                     this.errors.push('密码有误');
    37                 }
    38 
    39                 if (!this.telephone) {
    40                     this.errors.push('请输入手机号');
    41                 } else if (!this.vaildTelephone(this.telephone)) {
    42                     this.errors.push('手机号为11个纯数字组合')
    43                 }
    44 
    45                 e.preventDefault();
    46             },
    47 
    48             vaildUsername: function (username) {   //用户名表单效验
    49                 var re = /^[a-zA-Z0-9_-]{4,16}$/;
    50                 return re.test(username);
    51             },
    52 
    53             vaildEmail: function (email) {  //表单邮件的效验
    54                 var re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/;
    55                 return re.test(email);
    56             },
    57 
    58             vaildPassworld: function (password) {    //表单密码的效验
    59                 var re = /^[a-zA-Z0-9_-]{4,16}$/;
    60                 return re.test(password);
    61             },
    62 
    63             vaildTelephone: function (telephone) {    //表单电话的效验
    64                 var re = /^d{11,20}$/;
    65                 return re.test(telephone);
    66             },
    67 
    68             addUserInfo() {
    69                 if (this.username && this.password && this.email && this.telephone) {
    70                     var obj = {
    71                         username: this.username,
    72                         password: this.password,
    73                         email: this.email,
    74                         telephone: this.telephone
    75                     }
    76                     this.userInfo.push(obj)
    77                     localStorage.setItem('userInfo', JSON.stringify(this.userInfo))
    78                     this.username = ''
    79                     this.password = ''
    80                     this.email = ''
    81                     this.telephone = ''
    82                 }
    83                 window.open('management.html')
    84             }
    85 
    86         }
    87     })
    88 </script>



    管理页面
    html代码

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <script src="lib/vue-2.4.0.js"></script>
     8 <link rel="stylesheet" href="lib/bootstrap-3.3.7.css">
     9 <body>
    10 
    11 <div id="app">
    12 
    13     <div class="panel panel-primary">
    14         <div class="panel-heading">
    15             <h3 class="panel-title">添加用户</h3>
    16         </div>
    17         <div class="panel-body form-inline">
    18             <label>
    19                 用户名:
    20                 <input type="text" class="form-control" v-model="id">
    21             </label>
    22             <label>
    23                 密码:
    24                 <input type="text" class="form-control" v-model="pass">
    25             </label>
    26             <label>
    27                 邮件:
    28                 <input type="text" class="form-control" v-model="Email">
    29             </label>
    30             <label>
    31                 电话:
    32                 <input type="text" class="form-control" v-model="tel">
    33             </label>
    34 
    35             <input type="button" value="添加" class="btn btn-primary" @click="add()">
    36 
    37             <label>
    38                 搜索关键字:
    39                 <input type="text" class="form-control" v-model="keywords">
    40             </label>
    41         </div>
    42     </div>
    43 
    44 
    45     <table class="table table-hover table-border table-striped">
    46         <thead>
    47         <tr>
    48             <th>用户名</th>
    49             <th>密码</th>
    50             <th>邮件</th>
    51             <th>电话</th>
    52         </tr>
    53         </thead>
    54         <div v-if="userInfo.length === 0">
    55 
    56         </div>
    57         <div v-else>
    58             <tr v-for="(item,index) in userInfo">
    59                 <td>{{ item.username }}</td>
    60                 <td>{{ item.password }}</td>
    61                 <td>{{ item.email}}</td>
    62                 <td>{{ item.telephone}}</td>
    63                 <td>
    64                     <a href="#" @click="dellocal">删除</a>
    65                 </td>
    66             </tr>
    67         </div>
    68 
    69         <tbody v-for="item in search(keywords)" :key="item.id">
    70         <tr>
    71             <td>{{ item.id }}</td>
    72             <td>{{ item.pass }}</td>
    73             <td>{{ item.Email}}</td>
    74             <td>{{item.tel}}</td>
    75             <td>
    76                 <a href="#" @click.prevent="del(item.id)">删除</a>
    77             </td>
    78         </tr>
    79         </tbody>
    80     </table>
    81 
    82 </div>
    83 </body>
    84 </html>
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <script src="lib/vue-2.4.0.js"></script>
     8 <link rel="stylesheet" href="lib/bootstrap-3.3.7.css">
     9 <body>
    10 
    11 <div id="app">
    12 
    13     <div class="panel panel-primary">
    14         <div class="panel-heading">
    15             <h3 class="panel-title">添加用户</h3>
    16         </div>
    17         <div class="panel-body form-inline">
    18             <label>
    19                 用户名:
    20                 <input type="text" class="form-control" v-model="id">
    21             </label>
    22             <label>
    23                 密码:
    24                 <input type="text" class="form-control" v-model="pass">
    25             </label>
    26             <label>
    27                 邮件:
    28                 <input type="text" class="form-control" v-model="Email">
    29             </label>
    30             <label>
    31                 电话:
    32                 <input type="text" class="form-control" v-model="tel">
    33             </label>
    34 
    35             <input type="button" value="添加" class="btn btn-primary" @click="add()">
    36 
    37             <label>
    38                 搜索关键字:
    39                 <input type="text" class="form-control" v-model="keywords">
    40             </label>
    41         </div>
    42     </div>
    43 
    44 
    45     <table class="table table-hover table-border table-striped">
    46         <thead>
    47         <tr>
    48             <th>用户名</th>
    49             <th>密码</th>
    50             <th>邮件</th>
    51             <th>电话</th>
    52         </tr>
    53         </thead>
    54         <div v-if="userInfo.length === 0">
    55 
    56         </div>
    57         <div v-else>
    58             <tr v-for="(item,index) in userInfo">
    59                 <td>{{ item.username }}</td>
    60                 <td>{{ item.password }}</td>
    61                 <td>{{ item.email}}</td>
    62                 <td>{{ item.telephone}}</td>
    63                 <td>
    64                     <a href="#" @click="dellocal">删除</a>
    65                 </td>
    66             </tr>
    67         </div>
    68 
    69         <tbody v-for="item in search(keywords)" :key="item.id">
    70         <tr>
    71             <td>{{ item.id }}</td>
    72             <td>{{ item.pass }}</td>
    73             <td>{{ item.Email}}</td>
    74             <td>{{item.tel}}</td>
    75             <td>
    76                 <a href="#" @click.prevent="del(item.id)">删除</a>
    77             </td>
    78         </tr>
    79         </tbody>
    80     </table>
    81 
    82 </div>
    83 </body>
    84 </html>



    管理页面的javascript代码

     1 <script>
     2 
     3     var vm = new Vue({
     4         el: '#app',
     5         data: {
     6             id: '',
     7             pass: '',
     8             Email: '',
     9             tel: '',
    10 
    11             username: null,
    12             email: null,
    13             password: null,
    14             telephone: null,
    15             keywords: '',//搜索的关键字
    16             userInfo: JSON.parse(localStorage.getItem('userInfo')) || [],
    17             list: [
    18                 {id: 222222, pass: '222222', Email: '5656561@qq.com', tel: '18959290335'},
    19                 {id: 333333, pass: '333333', Email: '5656561@qq.com', tel: '18959290335'},
    20                 {id: 444444, pass: '444444', Email: '5656561@qq.com', tel: '18959290335'},
    21                 {id: 555555, pass: '555555', Email: '5656561@qq.com', tel: '18959290335'},
    22                 {id: 666666, pass: '666666', Email: '5656561@qq.com', tel: '18959290335'},
    23             ]
    24         },
    25         methods: {
    26             add() {
    27                 var user = {id: this.id, pass: this.pass, Email: this.Email, tel: this.tel}
    28                 this.list.push(user)
    29                 this.id = this.pass = this.Email = this.tel = ''
    30             },
    31             search(keywords) { //根据关键字,进行搜索
    32                 var newList = []
    33                 this.list.forEach(item => {
    34                     if (item.pass.indexOf(keywords) != -1) {
    35                         newList.push(item)
    36                     }
    37                 })
    38                 return newList
    39             },
    40             dellocal(){//删除localStorage数据
    41                 localStorage.clear();
    42             },
    43             del(id) {//根据id删除数据
    44                 this.list.some((item, i) => {
    45                     if (item.id === id) {
    46                         this.list.splice(i, 1)
    47                         return true;
    48                     }
    49                 })
    50             },
    51         }
    52     })
    53 
    54 
    55 </script>
     1 <script>
     2 
     3     var vm = new Vue({
     4         el: '#app',
     5         data: {
     6             id: '',
     7             pass: '',
     8             Email: '',
     9             tel: '',
    10 
    11             username: null,
    12             email: null,
    13             password: null,
    14             telephone: null,
    15             keywords: '',//搜索的关键字
    16             userInfo: JSON.parse(localStorage.getItem('userInfo')) || [],
    17             list: [
    18                 {id: 222222, pass: '222222', Email: '5656561@qq.com', tel: '18959290335'},
    19                 {id: 333333, pass: '333333', Email: '5656561@qq.com', tel: '18959290335'},
    20                 {id: 444444, pass: '444444', Email: '5656561@qq.com', tel: '18959290335'},
    21                 {id: 555555, pass: '555555', Email: '5656561@qq.com', tel: '18959290335'},
    22                 {id: 666666, pass: '666666', Email: '5656561@qq.com', tel: '18959290335'},
    23             ]
    24         },
    25         methods: {
    26             add() {
    27                 var user = {id: this.id, pass: this.pass, Email: this.Email, tel: this.tel}
    28                 this.list.push(user)
    29                 this.id = this.pass = this.Email = this.tel = ''
    30             },
    31             search(keywords) { //根据关键字,进行搜索
    32                 var newList = []
    33                 this.list.forEach(item => {
    34                     if (item.pass.indexOf(keywords) != -1) {
    35                         newList.push(item)
    36                     }
    37                 })
    38                 return newList
    39             },
    40             dellocal(){//删除localStorage数据
    41                 localStorage.clear();
    42             },
    43             del(id) {//根据id删除数据
    44                 this.list.some((item, i) => {
    45                     if (item.id === id) {
    46                         this.list.splice(i, 1)
    47                         return true;
    48                     }
    49                 })
    50             },
    51         }
    52     })
    53 
    54 
    55 </script>



  • 相关阅读:
    Delphi XE4 FireMonkey 开发 IOS APP 发布到 AppStore 最后一步.
    Native iOS Control Delphi XE4
    Delphi XE4 iAD Framework 支持.
    using IOS API with Delphi XE4
    GoF23种设计模式之行为型模式之命令模式
    Android青翼蝠王之ContentProvider
    Android白眉鹰王之BroadcastReceiver
    Android倚天剑之Notification之亮剑IOS
    Android紫衫龙王之Activity
    GoF23种设计模式之行为型模式之访问者模式
  • 原文地址:https://www.cnblogs.com/CYWH/p/10411202.html
Copyright © 2011-2022 走看看