gpt4 book ai didi

php - 检测 Str 中的透明度值

转载 作者:行者123 更新时间:2023-12-01 19:39:15 26 4
gpt4 key购买 nike

如何使用正则表达式检查字符串是否是有效的透明度值(例如 1.00.01 )?我尝试了一些方法,但它们不合适。

有效范围:[0-1].[01-99]

(?<!\S)\d(?![^.])这是我目前正在尝试的:

<?php 

$vals = array('1.0','0.3','0.04','10.2','2,2','0.8');

foreach ( $vals as $v ):
echo (rgbv($v)) ? $v.' is valid<br />' : $v.' is NOT valid<br />';
endforeach;

function rgbv($str) {
return preg_match('([0-1].\d+)', $str);
}

?>

输出:

1.0 is valid
0.3 is valid
0.04 is valid
10.2 is valid <-- Should be invalid
2,2 is NOT valid
0.8 is valid

最佳答案

而不是'([0-1].\d+)'尝试...

'/^(0\.\d{1,2}|1\.0{1,2})$/'

...,使用您的原始代码成功测试...

<?php 

$vals = array('1.0','0.3','0.04','10.2','2,2','0.8');

foreach ( $vals as $v ):
echo (rgbv($v)) ? $v.' is valid<br />' : $v.' is NOT valid<br />';
endforeach;

function rgbv($str) {
return preg_match('/^(0\.\d{1,2}|1\.0{1,2})$/', $str);
}

?>

...,根据需要生成以下输出:

1.0 is valid
0.3 is valid
0.04 is valid
10.2 is NOT valid
2,2 is NOT valid
0.8 is valid

您可以test the updated pattern on Ideone .

请注意,您似乎正在测试 CSS opacity alpha values, which should not be greater than 1.0 .

关于php - 检测 Str 中的透明度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28013341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com