亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS 正則表達式如何匹配兩個字符串?

JS 正則表達式如何匹配兩個字符串?

浮云間 2018-08-13 07:10:42
如今有以下需求:電商的顏色,尺碼選擇,后端給的json如下{    "prop_group": [         {            "prop_id":"color",            "prop_value": ["白色","紅色"]         },         {            "prop_id":"size",            "prop_value": ["S","M","L"]         }     ],    "prop_stack": [         {            "prop_key":"color:白色;size:S",            "stock_num":"10",            "is_off":"false"         },         {            "prop_key":"color:白色;size:M",            "stock_num":"",            "is_off":"true"         },         {            "prop_key":"color:白色;size:L",            "stock_num":"4",            "is_off":"false"         },     ] }如今要當兩個屬性都選上的時候,根據prop_stock給出的對應關系來顯示出庫存情況與是否售罄。我的想法是當尺碼,顏色兩個都有選擇的時候,調用一個function 來去對應關系中查找,如果找到全部匹配的則顯示出對應的庫存與是否售罄。    function checkProp(prop1, prop2){        var reg = ???        for(var i =0,i<prop_stock.length,i++){            if (reg.test(prop_stock[i].prop_key)){                return prop_stock[i];             }         }     }主要我不知道正則怎么寫啊 。。。比如 傳入 白色 , S正則表達式要怎樣寫才能實現同時匹配這兩個屬性的效果啊?跪求。。很急很關鍵啊
查看完整描述

1 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

如果prop_key格式固定的話,根本不需要正則啊,直接完整字符串比較就行了。

'color:' + prop1 + ';size:' + prop2 === prop_stock[i].prop_key

不過正則可以用來比較 prop 不確定的情況,比如另一件商品沒有 size 屬性,而是其他什么屬性。

var reg = new RegExp('[a-zA-Z]+:' + prop1 + ';[a-zA-Z]+:' + prop2);

[a-zA-Z] 匹配的是大小寫字母,如果商品屬性不全是大小寫字母,有其他符號的話,這里還需要改。


查看完整回答
反對 回復 2018-09-20
  • 1 回答
  • 0 關注
  • 3362 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號