在各类桌面或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
表达式:
^(?!\u
匹配:
$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 |
表达式:
^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$
数据格式
匹配:
123456.123456 | 123456,123456 | 123456
不匹配:
匹配逗号数据格式,单精度数,也匹配空字符串。
^(\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-9999999,7位数允许
^\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 |
小数点左边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