vue js 增强密码校验(数字,大小写,字母,特殊字符)

该文介绍了一个用于验证密码强度的JavaScript函数,确保密码包含大写字母、小写字母、数字和特殊字符,且长度在12-24个字符之间。在Vue项目中,该函数被用于确认密码的正确性,如果验证失败,会返回相应的错误信息。
摘要由CSDN通过智能技术生成

校验要求:
1. 12-24个字符。

2. 至少1个数字字符
3. 至少一个小写字母
4.至少一个大写字母
3.至少一个特殊字符

正则写法 

/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,24}$/

 新建validatePassword.js 文件,返回校验失败的原因

export const validatePassword = function(password) {
  if (typeof password !== 'string' || password === '') {
    return {
      success: false,
      message: '请输入新密码'
    }
  }
  const errors = []
  if (!/[A-Z]/.test(password)) {
    errors.push('大写字母')
  }
  if (!/[a-z]/.test(password)) {
    errors.push('小写字母')
  }
  if (!/[0-9]/.test(password)) {
    errors.push('数字')
  }
  if (!/[^\w\s]/.test(password)) {
    // 非空格、制表符、换页符
    errors.push('特殊字符')
  }

  if (errors.length > 0) {
    return {
      success: false,
      message: `缺少${errors.join(',')}`
    }
  }

  if (/[\s]/.test(password)) {
    // 非空格、制表符、换页符
    return {
      success: false,
      message: '不允许空字符'
    }
  }

  if (password.length < 12) {
    return {
      success: false,
      message: '长度至少12位'
    }
  } else if (password.length > 24) {
    return {
      success: false,
      message: '长度至多24位'
    }
  }
  if (!/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,24}$/.test(password)) {
    return {
      success: false,
      message: '校验失败'
    }
  }
  return {
    success: true
  }
}

 

// 在vue文件中,引入 js 文件
import { validatePassword } from '@/utils/validatePassword.js'

methods: {
    async ConfirmPassword() {
        const volidData = await validatePassword(this.Password)
        if(volidData.success) {
            // 检验成功的操作
        }
    }
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我可以回答这个问题。要生成一个Vue写的前端登录页面,您可以使用Vue.js框架和相关的插件和库。为了实现密码包含大小写字母数字特殊字符和验证码,您可以使用Vue.js插件,如vue-password、vue-password-strength-meter、vue-captcha等。这些插件可以帮助您轻松地实现这些功能。同时,您还可以使用Bootstrap或其他CSS框架来美化您的登录页面。 ### 回答2: 要生成一个Vue写的前端登录页面,首先需要安装Vue以及相关的插件和依赖。然后,可以按照以下步骤进行开发: 1. 创建一个Vue项目,并在项目中引入VueVue Router插件,用于实现路由功能。 2. 在项目中创建一个登录页面组件,可以命名为Login.vue。在该组件中,需要包含一个表单用于用户输入用户名、密码和验证码。 3. 在表单中,可以使用Vue的表单绑定指令(v-model)来实现数据的双向绑定,将用户输入的值绑定到组件的数据属性上。 4. 为了满足密码包含大小写字母数字特殊字符的要求,可以在密码输入框中添加一个正则表达式校验。可以使用Vue的内置指令v-pattern实现密码校验,例如:v-pattern="[A-Za-z0-9\W]+"。 5. 验证码的生成和验证可以通过引入第三方库或使用自定义组件实现。可以在登录表单中添加一个验证码输入框,并在后台生成和验证验证码的逻辑中完成验证码的生成和比较。 6. 在登录组件中,可以使用Vue Router来实现登录成功后的跳转,例如将登录成功后的用户信息保存到Vuex状态管理中,然后通过Vue Router跳转到其他页面。 7. 在登录页面的组件中,可以添加一个登录按钮,点击按钮后通过发送HTTP请求将用户输入的用户名、密码和验证码传递到后台进行验证。 8. 在验证结果返回后,可以根据后台返回的结果进行相应的处理,例如登录成功后的页面跳转、保存用户信息到本地等。 总结起来,生成一个Vue写的前端登录页面需要创建一个Vue项目,并在项目中创建一个登录页面组件。在该组件中,通过Vue的指令和双向绑定实现用户信息的输入和验证显示,并使用Vue Router实现登录成功后的页面跳转。同时,需要对密码的格式和验证码进行验证,并通过发送HTTP请求与后台进行交互。 ### 回答3: 要生成一个Vue写的前端登录页面,可以按照以下步骤进行: 1. 创建一个Vue项目,可以使用Vue CLI来快速搭建项目框架。 2. 在项目中创建一个Login.vue组件作为登录页面的主要组件。 3. 在Login.vue组件中,使用Vue的模板语法编写HTML结构,包括用户名输入框、密码输入框、验证码输入框和登录按钮等。 4. 在data中声明需要用到的变量,如用户名、密码、验证码等。 5. 使用Vue的表单绑定功能,将输入框的值和声明的变量进行双向数据绑定。 6. 在密码输入框中,可以使用Vue的指令v-model加上正则表达式,要求密码包含大小写字母数字特殊字符。 7. 在验证码输入框中,可以使用Vue的指令v-model加上正则表达式,要求验证码输入正确。 8. 在登录按钮上绑定一个点击事件,可以使用Vue的方法或者Vue Router进行页面跳转或者发送登录请求。 9. 可以使用Vue的生命周期钩子函数mounted来生成验证码,可以引入第三方插件如vue-verify-code等。 10. 添加样式文件,并通过Vue的样式绑定功能将样式应用到对应的元素上。 11. 在App.vue中引入Login.vue组件,并在App.vue中配置路由,将/login路径映射到Login组件。 12. 在main.js中配置Vue Router,并将App.vue作为根组件。 13. 运行项目,访问/login路径即可看到生成的Vue写的前端登录页面。 通过以上步骤,我们可以生成一个包含密码包含大小写数字特殊字符,并具有验证码的Vue前端登录页面。当用户输入满足要求的密码和正确的验证码后,可以进行登录操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值