element ui input box limit

The element ui input box can only enter numbers 

 <el-form-item label="经度" prop="x">
                  <el-input v-model="ruleForm.x" placeholder="输入经度" @keyup.native="ruleForm.x = oninput(ruleForm.x)" />
                </el-form-item>
oninput(num) {
  debugger
  var str = num
  var len1 = str.substr(0, 1)
  var len2 = str.substr(1, 1)
  //如果第一位是0,第二位不是点,就用数字把点替换掉
  if (str.length > 1 && len1 == 0 && len2 != ".") {
    str = str.substr(1, 1)
  }
  //第一位不能是.
  if (len1 == ".") {
    str = ""
  }
  //限制只能输入一个小数点
  if (str.indexOf(".") != -1) {
    var str_ = str.substr(str.indexOf(".") + 1)
    if (str_.indexOf(".") != -1) {
      str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1)
    }
  }
  //正则替换
  str = str.replace(/[^\d^\.]+/g, '') // 保留数字和小数点 
  return str
},

Guess you like

Origin blog.csdn.net/snow_living/article/details/132162258