javascript - 用于匹配 JavaScript 中字符串的全部或初始部分的正则表达式

标签 javascript regex string

我正在尝试找出符合以下条件的正则表达式。

我要匹配的字符串

 var txt = "This is Regex";

用户可以输入如下内容

  1. “这个”——有效
  2. “Th”——有效
  3. “这是”——有效
  4. “这是 Reg”——有效
  5. “这是正则表达式”——有效
  6. “Tis”——无效
  7. "is"——无效
  8. “注册”——无效

因此用户可以输入部分文本或全文。 如果用户输入部分文本,它应该验证序列,如果它与txt 序列不匹配,那么它是无效的。

我正在寻找使用 jQuery 的解决方案,但即使是纯 JavaScript 也可以。

只是为了澄清我的要求,我给出了 7 个以上的 senarios,并不是只有用户可以输入 7 个以上(例如:- 如果用户输入“T”,那么它也是有效的,因为它是第一个字符,如果用户只输入“H”是无效的,因为它前面没有“T”

最佳答案

不需要正则表达式,甚至不需要 jQuery——只需测试并查看用户输入的内容是否是您文本的子字符串:

function isMatch(userTxt) {
    return txt.indexOf(userTxt) != -1;
}

(如果字符串中不存在用户文本,则调用 indexOf 将返回 -1,因为字符串中不存在子字符串。)

如果用户输入的字符串必须txt的开头开始,您可以更明确地检查返回的索引是否恰好为0:

function isMatch(userTxt) {
    return txt.indexOf(userTxt) == 0;
}

关于javascript - 用于匹配 JavaScript 中字符串的全部或初始部分的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25840438/

相关文章:

javascript - 在 React 中更新状态时出现问题

python - Pandas 通过正则表达式读取带有字符串定界符的 CSV

java - 创建不可变对象(immutable对象),在没有 new 的情况下实例化

php - 循环遍历 MySQL 行并拆分。最初是 Excel 电子表格

Java 字符串不等于

ruby - 如何根据 ruby​​ 中的条件加入一些(不是全部)数组元素?

javascript - 我们可以有一个带有描边、填充和描边宽度的 SVG 线吗?

javascript - jQuery .css() 不起作用

javascript - 如何在另一个链接的鼠标悬停时更改表格背景图像

javascript - 正则表达式中的 (?!) 运算符如何工作?