input输入限制

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

2018-11-28  本文已影响0人  马小帅mm

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, '');
}
上一篇下一篇

猜你喜欢

热点阅读