js中模糊搜索 模糊匹配如何实现?

在JavaScript中,可以使用正则表达式进行字符串模糊匹配,正则表达式是一种强大的工具,可以用来匹配各种模式的文本。下面是一个例子,演示如何使用正则表达式进行字符串模糊匹配

var regex = /hello/;
var string = 'hello world';
console.log(string.match(regex)); // 输出:["hello"]

我这边上面使用的是

在上面的例子中,我们定义了一个正则表达式,它可以匹配字符串中的。然后我们定义了一个字符串并使用match方法进行匹配.match方法返回一个数组,其中包含所有匹配的子字符串。在这个例子中,match方法返回了一个数组【】,因为字符串中只有一个hello,当当然在数据中有很多可以搞过来

如果你想进行模糊匹配,可以使用正则表达式中的通配符.*.*可以匹配任意字符,包括空格和换行符。下面是一个例子,演示如何使用.*进行模糊匹配:

var regex = /id=".*"/;
var string = '<div id="container" class="main"></div>';
console.log(string.match(regex)[0]); // 输出:id="container" class="main"

我们定义了一个正则表达式,它可以匹配字符串,使用match来匹配并返回一个数组就可以实现模糊搜索了,谢谢欧克ok再见

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现带下拉匹配效果的模糊查询地址功能,可以使用 HTML、CSS 和 JavaScript 来实现。下面是一个简单的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>模糊查询地址</title> <style> /* 下拉列表样式 */ .autocomplete-items { position: absolute; border: 1px solid #d4d4d4; border-bottom: none; border-top: none; z-index: 99; /* 设置下拉列表宽度与输入框相同 */ top: 100%; left: 0; right: 0; } /* 下拉列表项样式 */ .autocomplete-items div { padding: 10px; cursor: pointer; background-color: #fff; border-bottom: 1px solid #d4d4d4; } /* 下拉列表项鼠标悬停样式 */ .autocomplete-items div:hover { background-color: #e9e9e9; } /* 输入框样式 */ input[type=text] { width: 100%; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; } </style> </head> <body> <h2>模糊查询地址</h2> <!-- 输入框 --> <div class="autocomplete"> <input type="text" id="myInput" placeholder="请输入地址"> <!-- 下拉列表 --> <div id="myDropdown" class="autocomplete-items"></div> </div> <script> // 假设有一个地址列表 let addresses = [ '北京市海淀区关村南大街5号', '上海市浦东新区世纪大道100号', '广州市天河区珠江新城华夏路1号' ]; // 获取输入框和下拉列表 let input = document.getElementById('myInput'); let dropdown = document.getElementById('myDropdown'); // 监听输入框输入事件 input.addEventListener('input', function () { let value = this.value; dropdown.innerHTML = ''; // 如果输入框有值 if (value) { // 使用正则表达式进行匹配 let pattern = new RegExp(value, 'i'); // i 表示忽略大小写 let filtered = addresses.filter(address => pattern.test(address)); // 如果有匹配结果 if (filtered.length > 0) { // 创建下拉列表项并添加到下拉列表 filtered.forEach(address => { let option = document.createElement('div'); option.innerHTML = address; option.addEventListener('click', function () { // 点击下拉列表项后将选的地址显示在输入框 input.value = address; dropdown.innerHTML = ''; }); dropdown.appendChild(option); }); } } }); </script> </body> </html> ``` 这段代码使用了 HTML、CSS 和 JavaScript 实现了一个带下拉匹配效果的模糊查询地址功能。用户在输入框输入关键字后,程序会根据关键字在地址列表进行匹配并显示匹配结果,用户可以点击下拉列表的地址将其填入输入框
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值