但仍不明白:在输入框最初没有数据,但是当用户开始键入函数开始调用它的方法,但是第一行将[$(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. Spark分割RDD分块和连接
- 3. 如何分割在JavaScript
- 4. 如何在javascript中分割缓冲区
- 5. 如何在javascript中分割字符串?
- 6. 在javascript中分割和显示值
- 7. 如何分割阵列在javascript
- 8. 分割数在JavaScript
- 9. 如何在Spark中分割?
- 10. 如何分割张量然后连接它?
- 11. 如何在连接中将每一个MySQL表分割成单独的变量
- 12. 如何分割char和在C
- 13. 如何在JavaScript中的多行代码中分割字符串?
- 14. 如何在Javascript中的数组中分割数组?
- 15. 如何在JavaScript中分割json中的值?
- 16. 如何连接javascript和rails 3
- 17. 如何连接ASP.NET页面和javascript
- 18. C#中的图像分割(行分割和字符分割)
- 19. 如何使用Javascript + CSS分割图像?
- 20. JavaScript的字符串分割如何?
- 21. 连接组件标签和图像分割之间的区别?
- 22. Php和Javascript连接
- 23. 如何更新连接和分组?
- 24. 在JavaScript中分割字符串
- 25. 分割字符串在JavaScript中
- 26. 在javascript中分割字符串
- 27. 在javascript中使用REGEX分割蜇伤
- 28. 在JavaScript中分割此字符串
- 29. 在JavaScript中按月分割表格
- 30. 在JavaScript中分割字符串
split()将根据给定的分隔符将字符串拆分为数组。 join()会将数组中的所有元素连接成一个给定分隔符的字符串。上面的代码只需获取匹配正则表达式的项目数组,然后使用短划线作为分隔符将它们连接成单个字符串 – mhodges
了解正则表达式:https://developer.mozilla.org/en-US/docs/ Web/JavaScript/Guide/Regular_Expressions – epascarello
简单的调试将告诉你什么时候没有连字符。 'console.log(“abc”.split(“ - ”))' – epascarello