众果搜的博客

脚踏大地,仰望星空,致力于在线网络工具的开发与普及,以及其他思考

Search(博客搜索)

热文排行

最近发表

最新评论及回复

« 无题无语无话可说语无伦次正则表达式库(数字格式验证第二部分) »

正则表达式库(数字格式验证第一部分)

在各类桌面或Web应用中,数字的输入格式是最常见的一种。通过限制用户的输入格式,保证数据的完整是程序正确运行的必要条件,这里列出了验证数字输入格式的表达式的第一部分。在这里进行在线测试:http://www.zhongguosou.com/computer_question_tools/test_regex.aspx

 数字格式

表达式:      

^\$?(\d{1,3},?(\d{3},?)*\d{3}(\.\d{0,2})?|\d{1,3}(\.\d{0,2})?|\.\d{1,2}?)$

美国货币格式(中国的人民币应该是一样的,改为人民币符号即可了)

匹配:

$1.99 | 1.99 | .99

不匹配:

$10.999 | 100,00.99 | blank

 

表达式:      

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

匹配:     

1 | 1.1 | 0.1

不匹配:      

01 | 01.1 | 0.10

 

表达式:

^(?!\u00a2) #Don't allow cent symbol \p{Sc}? #optional unicode currency symbols (?!0,?\d) #don't allow leading zero if 1 or more unit (\d{1,3} # 1 to 3 digits (\,\d{3})* # if the is a comma it must be followed by 3 digits |(\d+)) # more than 3 digit with no comma separator (\.\d{2})?$ # option cents

匹配:

$1,501.13 | £215 | €4.93

不匹配:      

01.00 | $.00 | ¢50

 

表达式:

(?!^0*$)(?!^0*\.0*$)^\d{1,5}(\.\d{1,2})?$

校验为5位整数位,两位小数位,且不允许为0

匹配:   

12345.12 | 0.5

不匹配:

123456.12 | 1.234 | .1

 

表达式:      

^\$?\d+(\.(\d{2}))?$

可以有也可以没有美元符号,分位也可以有,也可以无。

匹配:

$2.43 | 2.02 | $2112

不匹配:

2.1 | $.14 | $2,222.12

 

表达式:

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

金融格式,美元符号可选,正负可选

匹配:

($4,000.00) | -$4000.00 | -$400.00

不匹配:

4,00.000 | abc | $

 

表达式:      

^\d{0,2}(\.\d{1,2})?$

输入为两位数的整数,小数      

匹配:

99.99 | 99 | .99

不匹配:      

999.999 | 999 | .999

 

表达式:      

^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$

浮点数的格式可以是科学指数形式   

匹配:

123 | -123.35 | -123.35e-2

不匹配:

abc | 123.32e | 123.32.3

 

表达式:      

^[+]?\d*$

只能输入数字,不可输入其他字符   

匹配:

0123456789 | 1234 | 1

不匹配:

1.0?& | a1 | 2a-

 

表达式:      

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

数据格式

匹配:

123456.123456 | 123456,123456 | 123456

不匹配:      

123a.123 | 123a,123 | a

 

匹配逗号数据格式,单精度数,也匹配空字符串。      

^(\d|,)*\.?\d*$

匹配:   

1,000 | 3,000.05 | 5,000,000

不匹配:

abc | $100,000 | Forty

 

 

匹配正的数据,不匹配0或者负值:      

(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$)

匹配:   

0.050 | 5.0000 | 5000

不匹配:

0 | 0.0 | .0

 

匹配0-99999997位数允许     

^\d{1,7}$

匹配:

1234567 | 9999999 | 1

不匹配:      

12345678 | 9999.99 | -1234

 

匹配不超过两位小数的浮点数,实数,小数,允许负号      

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

匹配:   

123 | 123.54 | -.54

不匹配:      

123.543 | 0012 | 1,000.12

 

货币或金融格式,人民币格式

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

匹配:

$1,234.50 | $0.70 | .7

不匹配:      

$0,123.50 | $00.5

 

整数或两位小数   

^\d+(?:\.\d{0,2})?$

匹配:

1 | 1.23 | 1234.45

不匹配:      

a1.34 | 1.23a | a

 

小数点左边7位,右边9

^(?=.*[1-9].*$)\d{0,7}(?:\.\d{0,9})?$

匹配:

1 | 0123456.123456789 | .123456789

不匹配   

.0123456789 | 0.0 | -1

 

数字,不接受空格      

^\d+$

匹配:

2 | 50 | 0

 不匹配 

-15 | 1.2

 

接受无符号整数,也匹配空字符串   

^\d*$

匹配:

123 | 000 | 43

 不匹配 

asbc | -34 | 3.1415

 

支持-999.99+999.99,正的或者负的整数或者小数,百分比符号也支持,不允许空字符串,可根据需要调整范围

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

匹配:   

12.3 | 123 | -123.45

 不匹配 

- | 10.1234 | -1234

正则表达式在线测试:http://www.zhongguosou.com/computer_question_tools/test_regex.aspx

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog 1.8 Spirit Build 80722 Code detection by Codefense

Copyright www.zhongguosou.com. Some Rights Reserved.