使用javascript上的Regex验证一个tridion TCM ID,看起来很简单,但不幸的是,我没有做到这一点。
我已经尝试了所有可能的方法来验证一个中医id。
下面是最后一次尝试的正则表达式:-
(tcm:(\d)+-(\d)+(-16|-4|-64))\W
在这里,TCM ID
可以是component
、SG
或Page
。
有效的中医id是
请建议最好的标准,以验证一个中医id。
发布于 2012-10-07 12:41:51
尝试:
/^tcm:\d{3}-\d{4}(?:-16|-4|-64)?$/
发布于 2012-10-07 22:40:40
所提供的regex xdazz非常适合您提供的示例。但是,对于更一般的处理,您可能需要:
/^tcm:\d+-\d+(?:-16|-4|-64)?$/
/^tcm:\d+-\d+(?:-\d+)?$/
/^tcm:\d+-\d+(?:-\d+)?(?:-v\d+)?$/
当然,这使您非常接近Nuno的答案,它有一个额外的优势,即匹配组具有可读的名称。
发布于 2012-10-07 22:06:05
我在c#中使用它来验证Tcm Uri (我相信TcmUri.IsValid()
也是这样做的)
"^tcm:(?<pubId>[0-9]+)-(?<itemId>[0-9]+)(-(?<itemType>[0-9]+))?(-v(?<version>[0-9]+))?$"
如果您想验证它是否是一个页面或组件,那么itemType应该是空的,16或64。
https://stackoverflow.com/questions/12768811
复制相似问题