php - 将输入与掩码匹配

标签 php input preg-match mask

我需要一点帮助,我想检查输入是否与掩码匹配

掩码是这样的:12.345.678/9012-34 (xx.xxx.xxx/xxxx-xx)

到目前为止我尝试过的是这个

$string = '12.345.678/9012-34';

if(!preg_match('/^[0-9]{2}.[0-9]{3}.[0-9]{3}/[0-9]{4}-[0-9]{2}$/', $string)) {
     echo 'Doesnt match the mask!';
}

没有成功。感谢您的帮助。

最佳答案

您需要转义要匹配的 /. 文字,因为您使用前者作为正则表达式分隔符和 在正则表达式中具有特殊含义(通常匹配除 \n 之外的所有字符)。

if(!preg_match('/^\d{2}.\d{3}\.\d{3}\/\d{4}-\d{2}$/', $string)) {
     echo 'Doesnt match the mask!';
}

我还使用了 \d 而不是 [0-9],因为它不太容易阅读和理解,而且它们的含义相同。

关于php - 将输入与掩码匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12047392/

相关文章:

php - 根据返回的结果更改 td bgcolor

PHP - 如何判断多维数组中的所有相邻元素是否存在?

c# - 尝试比较 C# 中的字符

javascript - 如何更改输入类型 ="date"日期选择器的外观?

php - preg_match() 和用户名

php - preg_match - 只能由数字、连字符 (-) 和空格组成

php - 在每个单词后最多插入一个前导和尾随换行符

php - CodeIgniter OAuth 2 服务器/提供商

php - ElasticSearch如何在逗号分隔字段中搜索逗号分隔的字符串?

java - 使用 while 循环从输入获取特定系列的数字时遇到问题