Vue input 限制输入正负数,小数点后保留两位
注意:input v-model动态更新失效问题,解决方法 $nextTick()
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, ''); }
6.只允许输入数字(整数:小数点不能输入)
<input type="text" οnkeyup="value=value.replace(/[^\d]/g,'')" >
7.允许输入小数(两位小数)
<input type="text" οnkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" >
8.允许输入小数(一位小数)
<input type="text" οnkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,1})?).*$/g, '$1')" >
9.开头不能为0,且不能输入小数
<input type="text" οnkeyup="value=value.replace(/[^\d]/g,'').replace(/^0{1,}/g,'')" >
10.不能输入中文和字母 例如:价格输入
<input type="text" class="input-text" value="" οnkeyup="value=value.replace(/[\u4E00-\u9FA5]|[A-Za-z]/g,'')" >

浙公网安备 33010602011771号