Javascript 3个字符长的字母数字正则表达式不工作
所以我尝试使用正则表达式来检查字符串,但它似乎不能正常工作 基本上,我希望它匹配一个字母数字字符串,正好是3个字符长。我在下面使用的表达式似乎不适用于此:Javascript 3个字符长的字母数字正则表达式不工作,javascript,regex,Javascript,Regex,所以我尝试使用正则表达式来检查字符串,但它似乎不能正常工作 基本上,我希望它匹配一个字母数字字符串,正好是3个字符长。我在下面使用的表达式似乎不适用于此: const msg = message.content; const regex = /[A-Za-z0-9]{3}/g; if (msg.match(regex)) { // Do something } 我做错什么了吗?任何帮助都将不胜感激。提前感谢。您需要分别为字符串锚定的开始和结束添加^和$——否则,例如,对于#123,1
const msg = message.content;
const regex = /[A-Za-z0-9]{3}/g;
if (msg.match(regex)) {
// Do something
}
我做错什么了吗?任何帮助都将不胜感激。提前感谢。您需要分别为字符串锚定的开始和结束添加
^
和$
——否则,例如,对于#123
,123
将匹配,并且它将传递正则表达式。您也可以考虑使用<代码> i <代码>标志,而不是重复<代码> -AZ-Z ,并且可以使用<代码> \d<代码>代替<代码> 0~9>代码>
看起来您只是想检查字符串是否通过正则表达式的测试,在这种情况下,.test
(计算为布尔值)可能比.match
更合适。此外,无论哪种方式,如果只是检查字符串是否传递正则表达式,则不需要全局标志:
const regex = /^[a-z\d]{3}$/i;
if (regex.test(msg)) {
// do something
}
这很有效。非常感谢。