我正在为客户的产品销售网站编写注册脚本.
我目前正在处理参考ID输入区域,我想确保参考ID在付款方式的正确参数范围内
参考ID将如下所示: XXXXX-XXXXX-XXXXX
我正在尝试使用此RegEx模式来匹配它: /(\w+){5}-(\w+){5}-(\w+){5}/
这完全匹配它,但它也匹配 XXXXX-XXXXX-XXXXXXXXXX
或者至少它在那里找到匹配.我希望它确保整个字符串匹配.我对RegEx不太熟悉
我怎样才能做到这一点?
您需要使用开始和结束锚点.或者,如果您不需要捕获这些组,则可以省略括号.
此外,这些+{5}手段不止一次匹配5次.我相信你不想这样,所以我放弃了+.
/^\w{5}-\w{5}-\w{5}\z/
Run Code Online (Sandbox Code Playgroud)
另外,我使用了\z你的字符串不匹配"abcde-12345-edcba\n".
分别使用^和$匹配输入字符串的开头和结尾.
另请注意,您的使用+是多余的,因为(\w+){5}"单词字符,至少一次,五次"意味着它可以匹配至少五次.你可能意味着(\w){5}(或者只是\w{5}你不需要反向引用;我会在我的例子中假设你这样做).
/^(\w){5}-(\w){5}-(\w){5}$/
Run Code Online (Sandbox Code Playgroud)