这是什么混淆JavaScript代码段意味着/做什么?
我不明白这个小片段:var num = str.replace(/[^0-9]/g, '');
的确如此。这是什么混淆JavaScript代码段意味着/做什么?
上下文:
function retnum(str) {
var num = str.replace(/[^0-9]/g, '');
var liczba = parseInt(num);
return liczba;
}
这JavaScript代码段将撕裂了任何不是(正则表达式的^
部分指“未”)一在str
号,然后从该结果作为返回一个整数铸liczba
。见我的评论:
// This function will return a number from a string that may contain other characters.
// Example: "1.23" -> 123
// Example: "a123" -> 123
// Example: "hg47g*y#" -> 47
function retnum(str) {
// First let's replace everything in str that is not a number with "" (nothing)
var num = str.replace(/[^0-9]/g, '');
// Let's use JavaScript's built in parseInt() to parse an Integer from the remaining string (called "num")
var liczba = parseInt(num);
// Let's now return that Integer:
return liczba;
}
顺便说一句,“liczba”是指在波兰:-)数
非常感谢您通过代码中的步骤进行彻底的解释和指导! – ADAMPOKE111
没问题亚当!如果你能回答你的问题,你能否正确回答我的答案? –
这不是模糊的,它的使用regular expression。
表达式匹配所有不是数字的东西,然后删除它们。 0-9
的意思是“任何数字”,^
的意思是“不”。 g
标志意味着检查整个字符串,而不仅仅是第一次匹配。最后,结果转换为数字。
实施例:
var input = 'abc123def456';
var str = input.replace(/[^0-9]/g, '');
var num = parseInt(str);
document.querySelector('pre').innerText = num;
<pre></pre>
它实际上只是用空白('')代替任何不是数字的东西。
这只是将任何字符串转换为数字的基本方法 – adeneo
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp – Teemu
这甚至没有模糊处理,您应该阅读有关正则表达式。 –