el-input 各种输入限制的正则整理

金额输入最常用的正则限制

限制input输入框只能输入数字和小数点、保留两位小数、千分位逗号分割的正则表达式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<el-input v-model="input" @input="handleInput" />

const handleInput = (val) => {
    input.value = onlyNumOnePoint(val);
}

const onlyNumOnePoint = (number_only) => {
// 将中文句号(。)替换为英文小数点(.)
number_only = number_only.replace(/。/g, '.');
  // 先把非数字的都替换掉,除了数字和小数点
  number_only = number_only.replace(/[^\d.]/g"");
  // 第一位0开头,0后面为数字,则过滤掉,取后面的数字
  number_only = number_only.replace(/^0+(\d)/'$1');
  // 必须保证第一个为数字而不是小数点
  number_only = number_only.replace(/^\./g"");
  // 保证只有出现一个小数点而没有多个小数点
  number_only = number_only.replace(/\.{2,}/g".");
  // 保证小数点只出现一次,而不能出现两次以上
  number_only = number_only.replace(".","$#$").replace(/\./g"").replace("$#$"".");
  // 保证只能输入一个小数
  // number_only = number_only.replace(/^(\-)*(\d+)\.(\d).*$/, '$1$2.$3');
  // 保证只能输入两个小数
  number_only = number_only.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
  // 千分位逗号分割  
  number_only = number_only.replace(/\B(?=(\d{3})+(?!\d))/g',');

  return number_only;
}

Read More

el-input-number修改数值失效的问题

一次在项目中,发现el-input-number无法输入,查阅了相关文档,发现可能是组件层级过深导致视图无法刷新。解决办法是在el-input-number上绑定@change="changeVal($event)"

1
2
3
4
5
6
7
8
9
10
<el-table-column slot="operationPrice" label="数量"  width="150">
<template slot-scope="scope">
<el-input-number v-model="scope.row.num" :precision="0" :min="1" label="描述文字" @change="changeVal($event)">
</el-input-number>
</template>
</el-table-column>

changeVal() {
this.$forceUpdate();
}

Read More

王海光:政争与权争-高饶事件起因再解读

    1954年发生的“高饶事件”,是中共成为执政党后第一次严重的党内斗争。刚调任中央人民政府计划委员会主席不久的中共中央东北局书记高岗,与刚调任中共中央组织部长不久的中共中央华东局第一书记饶漱石,忽然间成为了“反党联盟”,并牵连了一批高级干部。1955年3月,中国共产党全国代表会议通过了《关于高岗、饶漱石反党联盟的决议》,开除了高、饶的党籍,定性为“企图篡夺党和国家的领导权力的毫无原则的阴谋集团”[1]。在“文革”后的拨乱反正中,建国以来各类重大案件悉数得到平反和纠正,“高饶事件”是仅有的两个维持“原判”的事件之一。邓小平虽然给“高饶事件”摘去了“路线斗争”的标签,所有涉案的健在人员也重新给安排了工作,但仍然坚持当年的处理是“正确的”[2]。1981年6月,中共十一届六中全会通过的《关于建国以来党的若干历史问题的决议》,仍然称高、饶是“野心家”,“阴谋分裂党、篡夺党和国家最高权力”[3]。

Read More