This article mainly introduces the replace () method usage in jQuery. it analyzes the functions, definitions, and matching elements of the replace () method to replace specified content, when reading jquery source code, you may find that the second parameter of replece () is a function that you have never noticed before, previously, I only knew that the second parameter of replace () can be a function, but I don't know how to operate it. today, when the source code uses the function as the second parameter of replace, I felt it was hard to read the function, so I was prepared to sort out this function...
Syntax
StringObject. replace (regexp/substr, replacement)
Return value
Returns a new string, which is obtained after the first match or token match of regexp is replaced by replacement.
When the replacement parameter of the replace () method is a function, in this case, each match calls this function, and the string returned by the function is used as the replacement text. The first parameter of this function is a matching string. The following parameter is a string that matches the subexpression in the pattern. there can be 0 or more such parameters. The following parameter is an integer that declares the position where the matching occurs in the stringObject. The last parameter is stringObject itself. This speech was copied to w3cschool. for now, I am not very clear about the above words, nor can I simply describe them with my own words, so we can only use instances to describe all this.
The code is as follows:
Var string = "abc123-ii ";
String. replace (/(\ d)-([\ da-z])/g, function (str1, str2, str3, str4, str5 ){
Console. log (str1); // 3-i
Console. log (str2); // 3 (first capture)
Console. log (str3); // I (second non-capturing group)
Console. log (str4); // 5 (matching position in string)
Console. log (str5); // abc123-ii (string itself)
Return "I ";
})
Now I am reading the jquery source code.
The code is as follows:
CamelCase: function (string ){
Return string. replace (rmsPrefix, "ms-"). replace (rdashAlpha, fcamelCase );
},
FcamelCase = function (all, letter ){
Return letter. toUpperCase ();
};
I feel like I understand this function.
Now, I don't know when I used to use repleace (). It was a strange symbol for me at that time, like "$1, $2 "and so on. Now I have come to answer this question at night.
$1, $2, $3... indicates capturing 1, 2, 3 ....
The code is as follows:
Var string = "abc123-ii ";
Console. log (string. replace (/(\ d)-([\ da-z])/g, "$1"); // use capture group 1 (3) replace/(\ d)-([\ da-z])/g
$ & Indicates the substring that matches regexp
The code is as follows:
Var string = "abc123-ii ";
Console. log (string. replace (/(\ d)-([\ da-z])/g, "$ &"); // use a string that matches regexp (3-i) replace/(\ d)-([\ da-z])/g
$ 'Indicates the text on the left of the matched substring.
The code is as follows:
Var string = "abc123-ii ";
Console. log (string. replace (/(\ d)-([\ da-z])/g, "$ '"); // match the text on the left of the string (abc12) replace/(\ d)-([\ da-z])/g
$ 'Indicates the text on the right of the matched substring.
The code is as follows:
Var string = "abc123-ii ";
Console. log (string. replace (/(\ d)-([\ da-z])/g, "$ '")); // replace/(\ d)-([\ da-z])/g with the text on the right of the matching string
$ Directly as $ symbol
The code is as follows:
Var string = "abc123-ii ";
Console. log (string. replace (/(\ d)-([\ da-z])/g, "$"); // replace/(\ d) with the $ symbol) -([\ da-z])/g
The above is my own use of the replace () method is not clear, I am a little white front-end, if there is something wrong with writing, or you may want to share some examples of better usage of this method...
The above is all the content of this article. I hope you will like it.