Php 匹配输入到掩码

Php 匹配输入到掩码,php,input,preg-match,mask,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!'; } 结果没有成功。谢谢您的帮助。您需

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

面具是这样的: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
之外的所有字符)


我还使用了
\d
而不是
[0-9]
,因为它不太容易阅读和理解,而且它们的意思是一样的。

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


我还使用了
\d
而不是
[0-9]
,因为它不太容易阅读和理解,它们的意思是一样的。

以下是我将如何更改它:

/^[0-9]{2}.[0-9]{3}.[0-9]{3}/[0-9]{4}-[0-9]{2}$/
1) 您可以对数字使用
\d
快捷方式:

/^\d{2}.\d{3}.\d{3}/\d{4}-\d{2}$/
2) 点(句点)是一个特殊字符,与任何字符都匹配,因此需要对其进行转义

/^\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}$/
3) 正斜杠是您的分隔符,所以它应该在内部转义;或者,使用不同的分隔符:

/^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/

#^\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}$#

以下是我将如何改变它:

/^[0-9]{2}.[0-9]{3}.[0-9]{3}/[0-9]{4}-[0-9]{2}$/
1) 您可以对数字使用
\d
快捷方式:

/^\d{2}.\d{3}.\d{3}/\d{4}-\d{2}$/
2) 点(句点)是一个特殊字符,与任何字符都匹配,因此需要对其进行转义

/^\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}$/
3) 正斜杠是您的分隔符,所以它应该在内部转义;或者,使用不同的分隔符:

/^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/

#^\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}$#

我也非常感谢你。但在你的每一个版本中,我都有一个错误:未知修饰符“\”@Ghostology这是因为我一步一步地解释了:)第三步之后的任何事情都有效。谢谢你。但在你的每一个版本中,我都有一个错误:未知修饰符“\”@Ghostology,因为我一步一步地解释了:)第3步之后的任何事情都可以。