我希望用户只输入0-9并且只输入一次"."
patt = /[^0-9(.{1})]/
1.2222 -> true
1.2.2 -> false (only once '.')
Run Code Online (Sandbox Code Playgroud)
帮帮我,谢谢!
Cor*_*Xii 22
/^-?(?:\d+|\d*\.\d+)$/
Run Code Online (Sandbox Code Playgroud)
这匹配正常的浮点数,例如3.14
,仅小数部分的缩写符号,例如.5
整数,例如9
负数.
use*_*291 21
这就是你要找的东西
$re = "~ #delimiter
^ # start of input
-? # minus, optional
[0-9]+ # at least one digit
( # begin group
\. # a dot
[0-9]+ # at least one digit
) # end of group
? # group is optional
$ # end of input
~xD";
Run Code Online (Sandbox Code Playgroud)
这只接受"123"或"123.456",而不是".123"或"14e + 15".如果您还需要这些表单,请尝试is_numeric
正则表达式用于匹配字符串模式.如果在验证输入字符串的格式(但实际值)后没有显式,您也可以使用
filter_var("1.33", FILTER_VALIDATE_FLOAT);
Run Code Online (Sandbox Code Playgroud)
确保输入可以用作浮点值.FALSE
如果它不是浮点数,则返回,否则返回浮点数或整数值.适用任何类型的杂耍规则.
这个正则表达式:
\d*(?:\.\d+)?
Run Code Online (Sandbox Code Playgroud)
将给出结果:
123 -> true
123.345 -> true
123. -> true
.345 -> true
0.3345 -> true
Run Code Online (Sandbox Code Playgroud)
但是,您必须在使用之前检查输入是否为空,因为正则表达式也允许零长度输入。
归档时间: |
|
查看次数: |
23972 次 |
最近记录: |