使用PHP验证HTML中的ID/名称标记?

使用PHP验证HTML中的ID/名称标记?,php,validation,token,Php,Validation,Token,正如HTML 4规范中指出的那样: ID和名称标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”) 如何使用PHP验证ID/NAME令牌的有效性?我想像这样的正则表达式可以做到这一点: ^[A-Za-z][A-Za-z0-9_:\.-]* 有关更多信息,请参阅手册的以下部分: 要使用它,在PHP中,您必须使用以下函数: if (preg_match('/^[A-Za-z][A-Za-z0-9_:\.

正如HTML 4规范中指出的那样:

ID和名称标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”)


如何使用PHP验证ID/NAME令牌的有效性?

我想像这样的正则表达式可以做到这一点:

^[A-Za-z][A-Za-z0-9_:\.-]*
有关更多信息,请参阅手册的以下部分:


要使用它,在PHP中,您必须使用以下函数:

if (preg_match('/^[A-Za-z][A-Za-z0-9_:\.-]*/', $id)) {
    // valid
}

我想像这样的正则表达式可以做到这一点:

^[A-Za-z][A-Za-z0-9_:\.-]*
有关更多信息,请参阅手册的以下部分:


要使用它,在PHP中,您必须使用以下函数:

if (preg_match('/^[A-Za-z][A-Za-z0-9_:\.-]*/', $id)) {
    // valid
}
正则表达式。
/^[a-z]+[\w\\\-\:\.]*/i

说明:

/             #beginning of regular-expression
[a-z]         #match any lowercase English letter
+             #match previous token one or more times
[\w\_\-\:\.]  #match any word or digit, underscore, hyphen, colon or dot
*             #match previous token zero or more times
/i            #end regular expression with the i modifier, making it case-insensitive
使用php,您可以使用它进行验证

有关正则表达式的详细信息,请查看和的正则表达式测试。
/^[a-z]+[\w\\\-\:\.]*/i

说明:

/             #beginning of regular-expression
[a-z]         #match any lowercase English letter
+             #match previous token one or more times
[\w\_\-\:\.]  #match any word or digit, underscore, hyphen, colon or dot
*             #match previous token zero or more times
/i            #end regular expression with the i modifier, making it case-insensitive
使用php,您可以使用它进行验证


有关正则表达式的更多信息,请查看和的regexp test

i修饰符使表达式不区分大小写答案栏非常有用。非常感谢大家。i修饰符使表达式大小写不敏感。答案的底部非常有用。非常感谢大家。哼,不,我想不会——读问题太快吧:-(谢谢你的评论,我编辑了我的答案来解决这个问题哼,不会——读问题太快吧,我想:-(谢谢你的评论,我编辑了我的答案来解决这个问题。)