回覆列表
  • 1 # 使用者1004417200787

    我覺得此處不應該使用正則表示式,正則表示式最大的功能是用來匹配驗證的。

    對於你的需求不如寫一個方法,無論是用js直接前端處理還是提交給後臺用其他語言處理完成之後給你返回結果都是可行的。那麼處理方法就應該是這樣的:

    1、驗證非法字元,此處可以用正則表示式,只匹配數字和運算子號

    2、將輸入框中的字串呼叫split方法先用“,”,再用“+”分隔,最後用“*”分隔。得到若干陣列,根據陣列的順序來得到乘數和被乘數。例如第一種情況,第一次分隔後的結果為:{{100*2+200*2},{10*3+20*2},{100}},再次分隔後,結果為:{{{100*2},{200*2}},{{10*3},{20*2}},{{100}}},最後一次分隔:{{{100,2},{200,2}},{{10,3},{20,2}},{{100}}}。奇數位都是你需要的數字,偶數位是你需要的多少次。透過迴圈遍歷陣列就轉換出來了。這是最直接死板的辦法。只限於你這種情況,比如要再有10*5*2這種就又得再加邏輯判斷了。

  • 中秋節和大豐收的關聯?
  • 立體化學中s表示左旋,r表示右旋,這句話怎麼錯了?