【发布时间】:2018-01-09 08:25:55
【问题描述】:
我最近开始使用来自 VBA 的 Javascript,我想知道是否有等效于 vba 的“like”和“*”表达式。
例子:
If test Like "01##############10*" Then
【问题讨论】:
标签: javascript
我最近开始使用来自 VBA 的 Javascript,我想知道是否有等效于 vba 的“like”和“*”表达式。
例子:
If test Like "01##############10*" Then
【问题讨论】:
标签: javascript
是的,您正在寻找正则表达式。例如,如果 # 表示“数字”,* 在您的示例中表示“任何东西”,则正则表达式将是 /^01\d{13}10/,例如:
if (/^01\d{13}10/.test(test)) {
上面写着:
^ - 匹配字符串的开始(“开始断言”或“开始锚点”)01 - 匹配 01 字面意思\d{13} - 匹配一个数字 (\d) 正好 13 次10 - 匹配 10 字面意思$ 锚的缺失意味着我们不在乎上述之后的内容。
正则表达式是带有方法的对象。其中一种方法test 检查字符串是否与表达式匹配,这是可用的最基本操作之一。还有exec(查找第一个/下一个匹配项)。另一方面,字符串也有一个match 方法,它接受正则表达式并在字符串中查找匹配项。
更多关于正则表达式:
【讨论】:
JavaScript 有正则表达式。 使用 RegEx,您可以尝试构建“Like”或“*”之类的任何内容。
一般来说 - 不幸的是,VBA 中可用的任何东西都可以在其他顶级语言中使用。反之亦然。
这是搜索vi*的方法:
var myStr = "vityata";
if (myStr.match(/vi.*/)) {
// your code here
}
这里还有一点: Emulating SQL LIKE in JavaScript
【讨论】: