但仍不明白:在輸入框最初沒有數據,但是當用戶開始鍵入函數開始調用它的方法,但是第一行將[$(this).val()。split(「 -「)。加入(」」); ]然後將查找連字符分割成...但如果用戶dosent鍵入的數據包含任何連字符,所以必須被替換... ???就像你上面解釋的那樣在「a-b-c」上拆分(「 - 」)將給出[「a」,「b」,「c」] ....這個數據已經包含了連字符,並且被括號中指定的字符取代。另一方面,我也不明白這一點:foo = foo.match(new RegExp('。{1,4}','g'))。join(「 - 」); ,爲什麼在RegExp中有單引號,以及1,4代表什麼。???據我所知,它必須意味着最少1和最多4個字符。你能幫我理解這一點嗎?感謝您的幫助如何在JavaScript中分割和連接?
回答
函數調用從左到右進行評估。首先是val()
,然後是split("-")
,然後是join("")
。
這是做什麼的,它讀取的價值,因爲它似乎是一個信用卡號碼,價值將像1234-5678-9012-3456
。
接下來的事情是用連字號split("-")
分隔數字。這將導致一種列表['1234', '5678', '9012', '3456']
。
此列表然後使用""
(實際上沒有)加入,導致123456789
,數字不帶連字符。
同樣的事情可能
$(this).val().replace(/-/g, "")
使用正則表達式與實現。
希望這個澄清的東西!
如果有多個'-'而不是'$(this).val()。replace(「 - 」,「」)'不起作用。字符串「a-b-c」將是「ab-c」。它需要'$(this).val()。replace(/ -/g,「」)' – epascarello
是的,你是對的。我原本打算使用正則表達式,但我認爲這可能會混淆問題的作者,因爲他似乎是編程新手。忘記了這個限制。我會更新答案。謝謝! – JHolub
$(this).val()
獲取元素的值:
.split("-")
構建一個字符串數組,關於分割 ' - '(連字符)。基本上,當在字符串中找到' - '時,將它添加到'foo-bar'變爲['foo','bar']。
.join("");
採取陣列,並用一個空字符串,即[「富」,「酒吧」]變爲「foobar的」回到一起加入每個元素。
- 1. 如何分割和連接字符串
- 2. 分割和連接SQL
- 3. Spark分割RDD分塊和連接
- 4. 如何分割在JavaScript
- 5. 如何分割在JavaScript
- 6. 分割和連接字符串
- 7. 分割和連接字符串錯誤
- 8. 如何在Mac中分割文件,然後將它連接到Windows(例如:使用分割和貓)?
- 9. 如何在JavaScript中分割變量?
- 10. 如何在javascript中分割緩衝區
- 11. 如何在javascript中分割字符串?
- 12. 如何分割Javascript和HTML文件?
- 13. 在javascript中分割和顯示值
- 14. 在JavaScript函數中分割和替換
- 15. 如何連接JavaScript和Html
- 16. 如何連接java和javascript?
- 17. 麻煩在Python中分割和分割
- 18. 如何在JavaScript中一起使用隨機和分割函數?
- 19. 如何分割陣列在javascript
- 20. 分割數在JavaScript
- 21. JavaScript的分割和結合
- 22. 如何在Spark中分割?
- 23. 在Groovy中使用不同的分隔線分割和連接字符串
- 24. 如何分割和保存
- 25. 如何在javascript中連接字符串
- 26. 如何分割視頻,然後連接回原來的ffmpeg
- 27. 如何分割張量然後連接它?
- 28. 如何在連接中將每一個MySQL表分割成單獨的變量
- 29. 如何分割char和在C
- 30. 連字符分割
split()將根據給定的分隔符將字符串拆分爲數組。 join()會將數組中的所有元素連接成一個給定分隔符的字符串。上面的代碼只需獲取匹配正則表達式的項目數組,然後使用短劃線作爲分隔符將它們連接成單個字符串 – mhodges
瞭解正則表達式:https://developer.mozilla.org/en-US/docs/ Web/JavaScript/Guide/Regular_Expressions – epascarello
簡單的調試將告訴你什麼時候沒有連字符。 'console.log(「abc」.split(「 - 」))' – epascarello