在javascript上使用Regex验证tridion TCM ID,看起来很简单但不幸的是我没有这样做.
我尝试了所有可能的方法来验证tcm id.
以下是最后一次尝试的正则表达式: -
(tcm:(\d)+-(\d)+(-16|-4|-64))\W
Run Code Online (Sandbox Code Playgroud)
在这里,TCM ID可以是component或SG或Page.
有效的tcm id是
请建议最好的正则表达式来验证tcm id.
提供的正则表达式xdazz非常适合您提供的示例.但是对于更通用的处理,您可能希望:
/^tcm:\d+-\d+(?:-16|-4|-64)?$/ /^tcm:\d+-\d+(?:-\d+)?$//^tcm:\d+-\d+(?:-\d+)?(?:-v\d+)?$/当然,这会让你非常接近Nuno的答案,这有一个额外的好处,即匹配组具有可读的名称.
尝试:
/^tcm:\d{3}-\d{4}(?:-16|-4|-64)?$/
Run Code Online (Sandbox Code Playgroud)
我在c#中使用它来验证Tcm Uri(我相信这也是如何TcmUri.IsValid()做到的)
"^tcm:(?<pubId>[0-9]+)-(?<itemId>[0-9]+)(-(?<itemType>[0-9]+))?(-v(?<version>[0-9]+))?$"
Run Code Online (Sandbox Code Playgroud)
如果要验证它是页面还是组件,则itemType应为空,16或64.
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |