关于vue中表单校验的正则表达式

1.数字带小数的校验

// 数字带小数校验(没有设置必填项)
        const valiNumberPass = (rule, value, callback) => {
            let reg = /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g;
            if (value === '') {
              callback()
            } else if (!reg.test(value)) {
                callback(new Error('请输入数字'));
            } else {
                callback();
            }
        }; 

2.纯数字校验

        // 纯数字整数校验(没有设置必填项)
        const numberPass = (rule, value, callback) => {
            let reg = /^[+]{0,1}(\d+)$/g;
            if (value === '') {
              callback()
            } if (!reg.test(value)) {
                callback(new Error('请输入纯数字'));
            } else {
                callback();
            }
        };

3.禁止输入特殊字符校验

        // 禁止输入特殊字符的校验
        const validateInput = (rule, value, callback) => {
          if (!this.checkSpecialKey(value)) {
            callback(new Error("不能含有特殊字符!"));
          } else {
            callback();
          }
        };



        methods: {
          checkSpecialKey(str) {
            var specialKey = "[`~!#$^&*()=|{}':;'\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”                “'。,、?]‘'";
            for (var i = 0; i < str.length; i++) {
                if (specialKey.indexOf(str.substr(i, 1)) != -1) {
                    return false;
                }
            }
            return true;
            },
        }

4.地图经度维度校验(格式: 经度 , 维度)

        // 校验经度和维度
        const validateInput2 = (rule, value, callback) => {
            let reg = /^[-+]?([1-8]?\d(\.\d{0,6})?|90(\.0{0,6})?)\s,\s[-+]?(180(\.0{0,6})?|((1[0-7]\d)|([1-9]?\d))(\.\d{0,6})?)$/;

            if (!reg.test(value)) {
                callback(new Error('格式不对'));
            } else {
                callback();
            }
        };

5.手机号的校验

        // 校验手机号
        const validateInput3 = (rule, value, callback) => {
            let reg = /^1\d{10}$/;

            if (!reg.test(value)) {
                callback(new Error('请输入正确的电话号码'));
            } else {
                callback();
            }
        };

之一个项目中用到的几个正则分享下,希望可以帮助到各位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 2.x ,你可以使用正则表达式来进行字符串的匹配和校验。下面是一些在 Vue 2.x 使用正则表达式的示例: 1. 字符串匹配: ```vue <template> <div> <p v-if="isEmailValid">Email is valid</p> <p v-else>Email is not valid</p> </div> </template> <script> export default { data() { return { email: '[email protected]' }; }, computed: { isEmailValid() { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return emailRegex.test(this.email); } } } </script> ``` 2. 表单校验: ```vue <template> <form @submit.prevent="submitForm"> <input v-model="password" :class="{ 'is-invalid': !isPasswordValid }" type="password" placeholder="Password"> <p v-if="!isPasswordValid">Password must contain at least one uppercase letter, one lowercase letter, and one number</p> <button type="submit">Submit</button> </form> </template> <script> export default { data() { return { password: '' }; }, computed: { isPasswordValid() { const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/; return passwordRegex.test(this.password); } }, methods: { submitForm() { if (!this.isPasswordValid) { return; } // 表单验证通过,执行提交操作 } } } </script> ``` 在上述示例,我们使用 `test()` 方法来检测字符串是否与正则表达式匹配。如果匹配成功,则返回 `true`,否则返回 `false`。根据匹配结果,我们可以在模板使用条件语句来显示相应的提示信息或应用样式。 这些示例展示了如何在 Vue 2.x 使用正则表达式进行字符串匹配和表单校验。你可以根据自己的需求和具体场景来调整和扩展这些示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值