方法封裝
limit.js
export default { /** * 只能輸入0和正整數 * @param {string} value * @returns {string | number} 返回空字符或數字 */ integerZeroFn(value) { let reg = /^(0|\+?[1-9][0-9]*)$/; let strArray = value.split(""); let newStrs = ""; for (let i = 0; i < strArray.length; i++) { if (reg.test(strArray[i])) { console.log(strArray[i]); newStrs += strArray[i]; } else if (i > 0 && strArray[i] === "0") { newStrs += strArray[i]; } } if (!(newStrs - 0 < 0)) { return newStrs - 0; } else { return ""; } }, }
main.js
// 將限制函數文件綁定到vue原型上,供全局使用
import limit from "./api/limit.js";
Vue.prototype.$limit = limit;
組件使用
<el-input v-model="form.time" placeholder="請輸入進場時間" @input="(e) => (form.time= $limit.integerZeroFn(e))"></el-input>