搜索自動模糊匹配-小程序版

api接口參考:

http://suggestion.baidu.com/su?wd=1

效果:

<!--pages/search/search.wxml-->
<input type='text' bindinput='inputChange' value='{{ searchValue }}' placeholder='搜索' class='input_search'>
</input>
<block wx:for="{{list}}" wx:key="{{index}}">
    <view>{{item}}</view>
</block>
// pages/search/search.js
Page({

    /**
     * 頁面的初始數據
     */
    data: {
        searchValue: '',
        list: []
    },

    /**
     * 生命週期函數--監聽頁面加載
     */
    onLoad: function(options) {

    },

    testKuoHao() {
        var aa = "ldfjsldfj(dsfasjfj3124123)AAA";
        //1 查找(開始
        //2 ([^)]*)中是匹配內容,不包含)的任意字符,零個或多個的字符
        var result = aa.match(/\(([^)]*)\)/);
        // var result = aa.match(/\((.+)\)/);
        // 此時result=["(dsfasjfj3124123)", "dsfasjfj3124123"];
        console.log(result);
        if (result) {
            console.log(result[1]); // "dsfasjfj3124123"
        }
    },

    inputChange(e) {
        let self = this,
            value = e.detail.value;
        if (value == '') {
            var list = [];
            self.setData({
                list: list
            });
            return;
        }
        console.warn(value);
        self.request(value);
    },

    request(value) {
        var self = this;
        var url = 'http://suggestion.baidu.com/su?wd=' + value;
        wx.request({
            url: url,
            success(res) {
                console.log(res.data);
                //window.baidu.sug({q:"1",p:false,s:["18,19","114電影網","126","131","1688","12123","12345","10月1日放假安排2019","188比分直播","118圖庫"]});
                //通過正則截取json字符串
                var result = res.data.match(/\(([^)]*)\)/);
                if (result) {
                    console.log(result[1]);
                    var data = result[1];
                    //獲取[]的數組信息
                    result = data.match(/\[(.*)\]/);
                    console.log(result[0]);
                    //["114電影網","131","1688","12345","10月1日放假安排2019","188比分直播","118圖庫","139郵箱","126郵箱登錄","123"]
                    var array = result[0];
                    console.warn(array);
                    //字符串格式的json轉換成json對象
                    array = JSON.parse(array);
                    // var array = ["114電影網", "131", "1688", "12345", "10月1日放假安排2019", "188比分直播", "118圖庫", "139郵箱", "126郵箱登錄", "123"];
                    console.warn(array);
                    var list = [];
                    list.push(...array);
                    self.setData({
                        list: list
                    });
                }
            },
        })
    },
})

 

。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章