美文网首页
Vue input 限制只能输入正整数、数字、英文、两个小数

Vue input 限制只能输入正整数、数字、英文、两个小数

作者: 袁俊亮技术博客 | 来源:发表于2020-09-24 11:48 被阅读0次

Vue input 限制只能输入正整数、数字、英文、两个小数

1. 限制只能输入数字,英文

<input v-model="license\_num" type="text" :change="check\_num()" placeholder="请输入">
//限制
check\_num: function(){
    this.license\_num = this.license\_num.replace(/\[^\\a-\\z\\A-\\Z0-9\]/g, '');
}


2. 限制只能输入正整数

<input v-model="license\_num" type="text" :change="check\_num()" placeholder="请输入">
//限制
check\_num: function(){
    var license\_num = this.license\_num;
    license\_num = license\_num.replace(/\[^\\d\]/g, ''); // 清除“数字”和“.”以外的字符
    if (license\_num.indexOf('.') < 0 && license\_num != '') {
         // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
        license\_num = parseInt(license\_num);
    }
    this.license\_num = license\_num;
}


3. 限制价格只能输入数字, 且最多两个小数

<input v-model="price" type="text" :change="check\_price()" placeholder="请输入">
//限制
check\_price: function(){
    var price = '' + this.price;
    price = price
        .replace(/\[^\\d.\]/g, '') // 清除“数字”和“.”以外的字符
        .replace(/\\.{2,}/g, '.') // 只保留第一个. 清除多余的
        .replace('.', '$#$')
        .replace(/\\./g, '')
        .replace('$#$', '.')
        .replace(/^(\\-)\*(\\d+)\\.(\\d\\d).\*$/, '$1$2.$3'); // 只能输入两个小数
    if (price.indexOf('.') < 0 && price != '') {
        // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
        price = parseFloat(price);
    }
    this.price = price;
}


4. 验证手机号的正则表达式最简化

var reg = /^1\\d{10}$/;
if(!reg.test(phone)){
    alert('手机号输入错误');
}


5. 限制只能输入数字,英文, 中文,下划线

<input v-model="license\_num" type="text" :change="check\_num()" placeholder="请输入">
//限制
check\_num: function(){
    this.license\_num = this.license\_num.replace(/\[^\\a-\\z\\A-\\Z0-9\\u4e00-\\u9fe5\_\]/g, '');
}


原文地址: https://www.jianshu.com/p/da9696b83ddb

相关文章

网友评论

      本文标题:Vue input 限制只能输入正整数、数字、英文、两个小数

      本文链接:https://www.haomeiwen.com/subject/jcuzyktx.html