本文介绍: 正则表达式: /^(([1-9]?d{0,1}(.d{1,2})?)|100|100.(0){1,2})$/ 。。。例如,’zo+’ 能匹配zo” 以及 “zoo“,但不能匹配 “z”。+ 等价于 {1,}例如,”do(es)?” 可以匹配 “do” 或 “does“。例如zo* 能匹配 “z” 以及 “zoo“。(匹配前面的子表达式零次或一次)(匹配前面子表达式零次或多次)(匹配前面子表达式一次多次)最少 x 个、最多 y 个。除换行符nr)之外。

正则表达式:  /^(([1-9]?d{0,1}(.d{1,2})?)|100|100.(0){1,2})$/

<el-table-column
  label="付款金额"
  min-width="250"
>
  <template slot-scope="{row, $index}">
    <el-form-item
      :prop="'tableData.' + $index + '.paymentAmount'"
      :rules="tableRules.paymentAmount"
      label=" "
    >
      <el-input
        v-model="row.paymentAmount"
        size="small"
        clearable
        @change="changeTableContent(row, $index, 'paymentAmount', $event)"
      />
    </el-form-item>
  </template>
</el-table-column>
// 表单验证规则
tableRules: {
  paymentAmount: [
    { required: true, message: '请输入', trigger: 'blur' },
    { pattern: /^(([1-9]?d{0,1}(.d{1,2})?)|100|100.(0){1,2})$/, message: '请输入0-100内的数字(最多2位小数)'  }
  ]
},

若想匹配不止两位小数,只要改(.d{1,2})和100.(0){1,2}中{}内的数就好。

/^(([1-9]?d{0,1}(.d{1,2})?)|100|100.(0){1,2})$/ 解释: 

符号(n为代指,无实际意义) 意义
^ 匹配开头,在多行检测中,会匹配一行开头
[1-9] 任意1位1-9数字,[]表示字符范围,在方括号可以包含个字符表示匹配其中任意个字符
d 元字符查找数字,1位0-9数字元字符就是拥有特动功能特殊字符,大部分需要加反斜杠进行标识以便于普通字符进行区别
n?

匹配任何包含零个或一个 n 的字符串

(匹配前面子表达式零次或一次)

例如,”do(es)?” 可以匹配 “do” 或 “does” 。? 等价于 {0,1}

n*

匹配任何包含零个或多个 n 的字符

(匹配前面子表达式零次或多次)

例如zo* 能匹配 “z” 以及 “zoo”。* 等价于{0,}

n+

匹配任何包含至少一个 n 的字符

(匹配前面子表达式一次多次)

例如,’zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}

n{x} 匹配包含 x 个 n 的序列字符
n{x,y} 匹配包含最少 x 个、最多 y 个 n 的序列字符
n{x,} 匹配包含至少 x 个 n 的序列的字符
. 元字符,匹配换行符(n、r)之外的任何单个字符,相等于 [^nr] (少数元字符需要加反斜杠以便转译为普通字符使用
转义符
. 转译为小数
| 替换,”操作
字符具有高于替换运算符优先级,使得”m|food”匹配”m”或”food“。若要匹配”mood“或”food“,请使用括号创建子表达式,从而产生”(m|f)ood“。
$ 匹配结尾,在多行检测中,会匹配一行结尾

 另,介绍一个工具,写正则表达式时候可以用:正则表达式在线测试 | 菜鸟工具

 且,可以在这里学习正则教程: 正则表达式 – 教程 | 菜鸟教程

原文地址:https://blog.csdn.net/qq_44170108/article/details/128562774

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_40572.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注