📜  pregmatch php 只有数字和逗号和点 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:47.309000             🧑  作者: Mango

在 PHP 中使用 preg_match 匹配只有数字、逗号和点的字符串

如果你需要在 PHP 中验证一个字符串是否只包含数字、逗号和点,你可以使用 preg_match 函数来实现。

preg_match 函数

preg_match 函数是 PHP 用来进行正则表达式匹配的函数之一。它使用一个正则表达式和一个字符串作为参数,来进行匹配,并返回一个布尔值表示匹配是否成功。

其语法如下:

preg_match($pattern, $subject [, &$matches])

其中,$pattern 是正则表达式,$subject 是要匹配的字符串,$matches 是一个用于存储匹配结果的数组。

如果匹配成功,返回 1,否则返回 0。

正则表达式

在本例中,我们需要匹配只包含数字、逗号和点的字符串,可以使用如下正则表达式:

/^[0-9,\.]+$/

其中:

  • ^ 表示匹配字符串的开头
  • [0-9,\.] 表示匹配数字、逗号和点
  • + 表示匹配前面的字符 1 次或多次
  • $ 表示匹配字符串的结尾
PHP 代码示例

下面是一个 PHP 代码示例,用来验证一个字符串是否只包含数字、逗号和点:

<?php
$string1 = '123,456.789';
$string2 = '12a3,456.789';
$pattern = '/^[0-9,\.]+$/';

if (preg_match($pattern, $string1)) {
    echo "字符串 '{$string1}' 包含只有数字、逗号和点\n";
} else {
    echo "字符串 '{$string1}' 不包含只有数字、逗号和点\n";
}

if (preg_match($pattern, $string2)) {
    echo "字符串 '{$string2}' 包含只有数字、逗号和点\n";
} else {
    echo "字符串 '{$string2}' 不包含只有数字、逗号和点\n";
}

输出结果如下:

字符串 '123,456.789' 包含只有数字、逗号和点
字符串 '12a3,456.789' 不包含只有数字、逗号和点
总结

在 PHP 中使用 preg_match 函数来验证只包含数字、逗号和点的字符串,需要使用如上的正则表达式。在实际开发中,也可以根据实际情况进行修改和调整。