我最近开始使用来自VBA的Javascript,我想知道是否有等同于vba的“ like”和“ *”表达式。

例:

If test Like "01##############10*" Then

最佳答案

是的,您正在寻找正则表达式。例如,如果在您的示例中#表示“数字”而*表示“任何”,则正则表达式将为/^01\d{13}10/,例如:

if (/^01\d{13}10/.test(test)) {


其中说:


^-匹配字符串的开头(“开始断言”或“开始锚点”)
01-按字面匹配01
\d{13}-精确匹配一个数字(\d)13次
10-按字面匹配10


$锚的缺失意味着我们不在乎上面的内容。

正则表达式是带有方法的对象。这些方法之一,test,检查字符串是否与表达式匹配,这是可用的最基本的操作之一。还有exec(查找第一个/下一个匹配项)。从另一侧来看,字符串还具有match方法,该方法接受正则表达式并在字符串内查找匹配项。

有关正则表达式的更多信息:


MDN
SO Regular Expression FAQ

09-25 16:51
查看更多