--- title: String.prototype.substring() slug: Web/JavaScript/Reference/Global_Objects/String/substring translation_of: Web/JavaScript/Reference/Global_Objects/String/substring ---
substring()
phương thức trả về chuỗi con của 1 chuỗi bắt đầu từ vị trí bắt đầu đến vị trí kết thúc, hoặc đến cuối chuỗi nếu không có vị trí kết thúc
str.substring(indexStart[, indexEnd])
indexStart
indexEnd
Chuỗi con trả về là chuỗi nằm ở vị trí từ indexStart đến vị trí ( indexEnd - 1 )
substring()
lấy ký tự từ vị trí indexStart
tới vị trí (nhưng không bao gồm) indexEnd
. Đặc biệt:
indexStart bằng
indexEnd
, substring()
trả về 1 chuỗi rỗng.indexEnd
, substring()
sẽ lấy từ vị trí bắt đầu đến cuối chuỗi. (điều này giống với hàm substr()).stringName.length
, nó sẽ được xử lý như là stringName.length
.Nếu indexStart
lớn hơn indexEnd
, chúng se được đổi chỗ; ví dụ, str.substring(1, 0) == str.substring(0, 1)
.
substring()
The following example uses substring()
to display characters from the string 'Mozilla'
:
var anyString = 'Mozilla'; // Displays 'Moz' console.log(anyString.substring(0, 3)); console.log(anyString.substring(3, 0)); // Displays 'lla' console.log(anyString.substring(4, 7)); console.log(anyString.substring(4)); console.log(anyString.substring(7, 4)); // Displays 'Mozill' console.log(anyString.substring(0, 6)); // Displays 'Mozilla' console.log(anyString.substring(0, 7)); console.log(anyString.substring(0, 10));
substring()
with length
propertyThe following example uses the substring()
method and {{jsxref("String.length", "length")}} property to extract the last characters of a particular string. This method may be easier to remember, given that you don't need to know the starting and ending indices as you would in the above examples.
// Displays 'illa' the last 4 characters var anyString = 'Mozilla'; var anyString4 = anyString.substring(anyString.length - 4); console.log(anyString4); // Displays 'zilla' the last 5 characters var anyString = 'Mozilla'; var anyString5 = anyString.substring(anyString.length - 5); console.log(anyString5);
The following example replaces a substring within a string. It will replace both individual characters and substrings. The function call at the end of the example changes the string 'Brave New World'
into 'Brave New Web'
.
// Replaces oldS with newS in the string fullS function replaceString(oldS, newS, fullS) { for (var i = 0; i < fullS.length; ++i) { if (fullS.substring(i, i + oldS.length) == oldS) { fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length); } } return fullS; } replaceString('World', 'Web', 'Brave New World');
Note that this can result in an infinite loop if oldS
is itself a substring of newS
— for example, if you attempted to replace 'World' with 'OtherWorld' here. A better method for replacing strings is as follows:
function replaceString(oldS, newS, fullS) { return fullS.split(oldS).join(newS); }
The code above serves as an example for substring operations. If you need to replace substrings, most of the time you will want to use {{jsxref("String.prototype.replace()")}}.
Specification | Status | Comment |
---|---|---|
{{SpecName('ES1')}} | {{Spec2('ES1')}} | Implemented in JavaScript 1.0. |
{{SpecName('ES5.1', '#sec-15.5.4.15', 'String.prototype.substring')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-string.prototype.substring', 'String.prototype.substring')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-string.prototype.substring', 'String.prototype.substring')}} | {{Spec2('ESDraft')}} |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |