一步一步写正则 1:金额正则表达式 (转)
用一个正则表达式来检查输入的"钱"是否形式正确.
有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":
^[1-9][0-9]*$
这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:
^(0|[1-9][0-9]*)$
一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:
^(0|-?[1-9][0-9]*)$
这表示一个0或者一个可能为负的开头不为0的数字.OK,让我们不要这么严格了.让用户以0开头好了.把负号的匹配也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:
^[0-9]+(.[0-9]+)?$
必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的.
^[0-9]+(.[0-9]{2})?$
这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:
^[0-9]+(.[0-9]{1,2})?$
这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:
^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
"1到3个数字,后面跟着任意个 逗号+3个数字 " 很简单,不是吗?但是让我们使得逗号成为可选,而不是必须:
^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里.OK了,当你的验证完成后,用str_replace(",", "", $money)把逗号去掉,然后把它的类型设为double,这样我们可以用它进行计算.
分享到:
相关推荐
在本场景中,我们关注的是如何使用正则表达式来验证金额格式。金额格式通常要求精确到小数点后两位,并且可能包含正负号。下面将详细介绍如何构建一个适用于这种需求的正则表达式。 首先,让我们了解一个基本的正则...
在Java中使用正则表达式来判断字符串是否符合整数、小数或实数的格式是一种常见且有效的做法。在编程中,我们经常需要对输入的字符串进行格式验证,以确保它们符合预期的数值格式,尤其是在处理财务数据、用户输入...
### 正则表达式知识点详解 #### 一、校验数字的正则表达式 **1.1 数字** - **表达式:** `^[0-9]*$` - **解释:** 匹配任意数量(包括0个)的数字。 - **应用场景:** 用于验证输入是否全为数字。 **1.2 n位的数字**...
在C#编程中,正则表达式是一种强大的文本匹配工具,可以用来验证字符串是否符合特定的模式。在本例中,我们关注的是如何使用正则表达式来验证一个数字是否精确到两位小数。这对于处理财务数据、计算或输入验证等场景...
这种情况下,就需要直接在input上进行限制,在前端的应用中主要是用正则表达式来解决这些问题的 第一种情况:只能输入某 {{value}} <el-input v-model=value clearable size=small class=row-value @...
标题与描述概述的知识点主要集中在正则表达式的应用上,涉及了多种常见数据类型的验证,如时间、数字、中文字符等。以下是对这些知识点的详细解释: ### 正则表达式验证规则 #### 1. **任意非空字符串验证** ```...
### JS常用正则表达式知识点解析 #### 一、电子邮件地址验证 **功能说明:** 验证输入的字符串是否符合标准电子邮件地址格式。 **正则表达式:** ```javascript /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/ ``` **...
此函数通过正则表达式`"^[0-9]+[\.][0-9]{0,3}$"`来验证输入字符串是否为有效金额格式。 #### 字母数字组合验证 ```javascript function isNumberOr_Letter(s) { var regu = "^[0-9a-zA-Z_]+$"; var re = new ...
### 常用的正则表达式的用法 在日常的开发工作中,正则表达式是一种非常实用且强大的工具,它能够帮助我们高效地完成文本的查找与替换工作。正则表达式通过一系列特殊的字符组合来定义搜索模式,用于文本处理、数据...
JavaScript(简称JS)中的正则表达式是一种强大的文本处理工具,用于模式匹配、搜索、替换等操作。在JS中,正则表达式是通过构造函数`RegExp`或使用特殊的正则字面量语法(用斜杠`/`包围)创建的。本篇将深入探讨JS...
### 正则表达式知识点详解 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,能够帮助我们完成各种复杂的字符串搜索、替换等操作。它由一系列字符和特殊符号组成,用于匹配字符串中的特定模式。 ####...
### 正则表达式基础与进阶技巧 #### 一、引言 正则表达式是一种强大的文本处理工具,能够帮助我们快速地匹配、查找、替换等操作字符串中的模式。在15分钟内掌握正则表达式的精髓并非易事,但通过本篇文章,我们将...
### Java正则表达式实例详解 #### 一、概述 正则表达式是一种强大的文本处理工具,能够帮助我们在字符串中查找、替换或提取特定模式的数据。在Java编程中,正则表达式的应用非常广泛,例如在表单验证、数据清洗等...
### Java正则表达式知识点详解 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,能够帮助我们完成各种复杂的字符串搜索、替换等操作。Java中的正则表达式支持丰富的语法和特性,可以高效地进行模式...
内容部分展示了多个实际应用正则表达式的场景,包括校验基本日期格式、密码强度、中文字符串、电子邮件地址、身份证号码、日期、金额、手机号、IE版本、IP地址等。以下是对各个具体场景的详细说明: 1. 校验基本...
- 使用正则表达式`/^[0-9]+[\.][0-9]{0,3}$`来匹配金额格式。 以上函数均采用了正则表达式进行字符串验证,确保了数据格式的准确性。这些函数可以应用于多种场景下的数据校验,提高程序的健壮性和用户体验。
### 正则表达式知识点详解 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,能够帮助我们完成各种复杂的字符串搜索、替换等操作。它被广泛应用于编程语言中,如JavaScript、Python、Java等,用于数据...
### ASP.NET正则表达式大全及后台代码使用方法 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,在ASP.NET开发中非常常见,它可以帮助开发者进行字符串搜索、替换等操作。本文将详细介绍一系列常用的...
### 正则表达式验证格式详解 #### 一、概述 正则表达式是一种用于匹配字符串中字符组合的工具,在程序开发中广泛应用于文本搜索与替换、数据验证等场景。本文将详细介绍如何利用正则表达式来验证常见的数据格式,...