Javascript:快速字符串测试
我想知道如何测试由特定字符串和字符组成的字符串。我已经测试过了Javascript:快速字符串测试,javascript,regex,Javascript,Regex,我想知道如何测试由特定字符串和字符组成的字符串。我已经测试过了 /translate+x | y | z/i.test('translateX')返回true /translate+x | y | z/i.test('translate')返回false /translate+x | y | z/i.test('rotateX')返回false 换句话说,我需要知道字符串是否是translateX或translateY或translateZ,但我不确定是否有/没有必要在那里转义+。另外,请确
返回/translate+x | y | z/i.test('translateX')
true
返回/translate+x | y | z/i.test('translate')
false
返回/translate+x | y | z/i.test('rotateX')
false
translateX
或translateY
或translateZ
,但我不确定是否有/没有必要在那里转义+
。另外,请确实建议一个更好的全方位跨浏览器解决方案,该解决方案可以更短/更精确
我基本上想知道字符串是translateX
还是translateY
还是translateZ
在一个非常短且有效的.test()
调用中
你可以用
/^translate[XYZ]$/
看
正则表达式匹配的字符串等于translateX
、translateY
或translateZ
-字符串的开头^
-文字字符序列翻译
-要么是[XYZ]
,X
要么是Y
(Z
列出单个字符备选方案的字符类)[…]
-字符串结尾$
/^translate(?:[XYZ]|3d)$/
^^^ ^^^^
这个正则表达式将匹配上面的3个字符串,或者
translate3d
您想要实现什么?要求是什么\+
匹配一个文本+
,在您的模式中,+
是一个量词,允许在translate
之后匹配多个e
。我假设它是/translate[xyz]?/I
他是什么意思感谢输入,因此,我基本上想知道字符串是translateX
还是translateY
还是translateZ
,在一个非常简短而高效的.test()
调用中。然后/^translate[XYZ]$/.test(text)
太棒了,谢谢你提供了如此详细的答案/建议。很高兴它能为你工作。注意:如果您需要使其不区分大小写,请在末尾添加/i
:/^translate[XYZ]$/i
。实际上,我如何将3d添加到[XYZ]
列表中?使用替代选项:/^translate(?[XYZ]| 3d)$/
非常好,效果非常好。我希望你永远是我的朋友:)