#vue# js正则表达式——实现手机号校验效果

news/2024/7/10 0:47:54 标签: js, vue, javascript, css, 正则表达式

需求:输入错误的手机号,会有提示语,正确的手机号码会有正确的图标

效果:

 

 

 思路:

(1)排版(不细讲),使用input 、button、span等标签,排版里面一个主要的小点是,需要写出两个span ,通过v-show先进行隐藏,等后面判断手机号码的正确错误再进行显示与隐藏

(2)接着,就需要在input 里设置@blur事件(当元素失去焦点时,触发的事件,就是鼠标离开方框的时候)

(3)然后,再使用js正则表达式,进行手机号码的校验,使用这串代码

 let reg = /^1[0-9]{10}$/;

(4)最后,在写@blur事件的判断方法的时候,当不符合手机校验规则时,就显示“请输入正确的手机号码”的提示语,即系错误图标及提示语= true,然后else的时候(就是手机号码为正确),要先把错误图标及提示语设置为false,然后正确图标设置为true

 let reg = /^1[0-9]{10}$/;  
 if (!reg.test(this.变量)) {
            }

demo示例

<template>
     <div class="signin">
            <h2>登录</h2>
            <div class="signin-item">
                <input placeholder="用户输入手机号" v-model="phone" @blur="getphone"/>
                <span class="iconfont iconselect_fill"
                      style="color:green; font-size: 18px"
                      v-show="rightshow"></span>
                <span class="iconfont iconicon-close"
                      style="font-size: 16px; color:red; "
                      v-show="errshow"> 请输入正确的手机号码!</span>
            </div>
</template>
<script>
    data() {
        return {
            phone:'',
            rightshow:false, // 正确图标
            errshow:false, //错误图标
        }
    },
    methods: {
        getphone() {
            let reg = /^1[0-9]{10}$/;  
            //正则表达式 ,1代表手机号的第一位1 ,[0-9]{10}代表后面10个数字,在0-9里面随机
            if (!reg.test(this.phone)) { //!就代表当 不符合这个规则,
                                        !reg.test(this.phone)这个也是语法来的
                this.errshow = true;
                this.rightshow = false;
            }
            else {
                this.errshow = false;
                this.rightshow = true;
            }
        }
</script>
<style>
    h2 {
    font-size: 25px;
    color: red;
    margin-bottom: 20px;
}

.signin {
    width: 600px;
    margin: 50px auto;
}

.signin input {
    display: inline-block;
    width: 350px;
    margin-bottom: 20px;
    border-radius: .1rem;
}

.signin button {
    width: 350px;
    height:  50px;
    background-color: #FECC8F;
}
.signin-item {
    position: relative;

}
.signin-item .iconkekan {
    position: absolute;
    right: 42%;
    padding-top: 20px;
    padding-right: 10px;
    font-size: 18px;
}

.signin-item .iconkekan-hover {
  color: #DA1A14;
}

</style>

http://www.niftyadmin.cn/n/615254.html

相关文章

#vue# js实现正则表达式验证邮箱

需求&#xff1a;个人中心注册&#xff0c;输入邮箱&#xff0c;若有误&#xff0c;显示错误信息 效果&#xff1a; 思路&#xff1a; 除了邮箱的正则表达式为 let reg /^([a-zA-Z]|[0-9])(\w|\-)[a-zA-Z0-9]\.([a-zA-Z]{2,4})$/;if(!reg.test(this.变量名)) {} 思路与#vue…

#vue# mousedown、mouseup事件,JS实现密码框小眼睛显示与隐藏

需求&#xff1a; 密码框右侧小眼睛&#xff0c; 鼠标按下鼠标按键&#xff08;左、右键均可&#xff09;就显示出密码&#xff0c; 鼠标松开鼠标按键&#xff08;左、右键均可&#xff09;密码就隐藏 思路&#xff1a; &#xff08;1&#xff09;首先就是排版了&#xff08…

#前端# 万字总结!前端项目化超详细方法及思路!

#前端# 万字总结&#xff01;前端整个项目超详细方法及思路&#xff01; 文章目录#前端# 万字总结&#xff01;前端整个项目超详细方法及思路&#xff01;第一部分&#xff1a;web/pc端一、项目开始前的准备工作1、vue-cli搭建开发环境2、新建vue项目文件3、vue项目目录解析&am…

#vue# 接口封装!超详细超简单的请求接口方法

在前端开发中&#xff0c;请求接口&#xff0c;是必不可少的一个环节&#xff0c; 请求接口&#xff0c;通俗来说&#xff0c;就是我们通过请求服务器的数据&#xff0c;来达到响应式地渲染数据 那如何请求接口&#xff0c;才会更高效且简单呢&#xff1f; 以下方法可以参考借…

必看!uni-app开发项目实战教程(12条常遇到知识点)

&#xff08;1&#xff09;创建项目&#xff1a;选uni-ui项目 在HBuilderX新建uni-app项目的模板中&#xff0c;选择uni ui模板 由于uni-app独特的easycom技术&#xff0c;可以免引用、注册&#xff0c;直接使用各种符合规则的vue组件。 在代码区键入u&#xff0c;拉出各种内…

#uni-app实战项目开发# 社交软件---用户发布内容界面(制作思路及步骤,附源码)

一、需求&#xff1a; 制作一个类似于某博的用户发布文章&动态的一个app页面&#xff0c; 这篇文章里面主要是讲头像至用户点赞评论这些板块的制作 二、效果图&#xff1a; 先看下效果图 思路&#xff1a; 首先&#xff0c;把这个页面分成4个板块&#xff08;如下图&a…

# uni-app开发攻略 # 个人封面页 (透明导航栏、源码)

需求&#xff1a;制作一个类似于某博的个人主页的封面板块 效果图&#xff1a; 思路&#xff1a; 拿到设计图以后&#xff0c;我们需要先进行拆解页面结构&#xff0c; 这个页面主要由三大板块组成&#xff1a;导航栏背景图用户信息 拆解完结构以后&#xff0c;下一步是进行…

#uni-app开发项目-实战总结# 底部导航栏

底部导航栏的制作步骤&#xff1a; 首先在目录的pages这个文件夹里面&#xff0c;右键新建页面&#xff08;不超过5个&#xff09; 然后在目录里&#xff0c;打开page.json&#xff0c; 在里面的“tabBar”里面进行加上底部栏的跳转地址、图标、文字就可以了 "tabBar&qu…