正则表达式简单解读

一、先了解各各简单字符所表达的意义

部分正则表达式符号说明:

^       匹配输入字行首,开始位置
[1-9]  只能取1-9之间的正整数
{1}     前面的表达式只能取一位
\d     正整数,等同于[0-9]
*       前面表达式任意位数
|        或的意思
{1,2}  表示最少重复1次,最多重复2次
?      简单理解为或有或无
$      匹配结束位置

二、分解

正则表达式校验金额最多保留两位小数?

那么必须满足如下条件:

  • 正数金额,如1,2等
  • 一位小数,如2.1, 2.2等
  • 二位小数,如2.12, 2.13等

1、第一步,小数点之前表达式

两种情况:

  22.2 不能以0开头
  [1-9]{1}\d*

  0.2 开头为0,并且只有1位
  0{1}

两种情况结合起来:
  ([1-9]{1}\d*)|(0{1})

第二步,小数点及小数位置

三种情况:

  2.1 只有一位小数

  2.12 有2位小数
  \.\d{1,2}

  2 没有小数
  (\.\d{1,2})?

把两步拼接到一起,就是前面的表达式: (^和$可不加,具体用法见正则表达式中的^和$)

  ^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$

三、长影正则表达式之--[正则表达式]文本框输入内容控制


整数或者小数:^[0-9]+.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^d{n}$"。 只能输入至少n位的数字:"^d{n,}$"。 只能输入m~n位的数字:。"^d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。 只能输入非零的正整数:"^+?[1-9][0-9]*$"。 只能输入非零的负整数:"^-[1-9][]0-9"*$。 只能输入长度为3的字符:"^.{3}$"。 只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。 只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。 只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。 只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。 只能输入由数字、26个英文字母或者下划线组成的字符串:"^w+$"。 验证用户密码:"^[a-zA-Z]w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 验证是否含有^%&',;=?$"等字符:"[^%&',;=?$x22]+"。 只能输入汉字:"^[u4e00-u9fa5]{0,}$" 验证Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。 验证InternetURL:"^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"。 验证电话号码:"^((d{3,4}-)|d{3.4}-)?d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 验证身份证号(15位或18位数字):"^d{15}|d{18}$"。
posted @ 2022-01-11 17:56  ~小晨晨  阅读(160)  评论(0编辑  收藏  举报