diff --git a/js/src/common.js b/js/src/common.js
index a4f973bb3e06..d1b5808a0edf 100644
--- a/js/src/common.js
+++ b/js/src/common.js
@@ -91,7 +91,7 @@ var CommonParams = (function () {
if (typeof common === 'string' && common.length > 0) {
// If the last char is the separator, do not add it
// Else add it
- common = common.substr(common.length - 1, common.length) === argsep ? common : common + argsep;
+ common = common.endsWith(argsep) ? common : common + argsep;
}
return Functions.sprintf(
diff --git a/js/src/config.js b/js/src/config.js
index e3a178167b64..e65d925b79fd 100644
--- a/js/src/config.js
+++ b/js/src/config.js
@@ -667,7 +667,7 @@ function setupRestoreField () {
var fieldSel;
if ($(this).hasClass('restore-default')) {
fieldSel = href;
- restoreField(fieldSel.substr(1));
+ restoreField(fieldSel.substring(1));
} else {
fieldSel = href.match(/^[^=]+/)[0];
var value = href.match(/=(.+)$/)[1];
diff --git a/js/src/console.js b/js/src/console.js
index c82ac341af7d..017a6504fdc8 100644
--- a/js/src/console.js
+++ b/js/src/console.js
@@ -599,7 +599,7 @@ var ConsoleInput = {
} else {
// Get cursor position from textarea
var text = ConsoleInput.getText();
- cursorLine = text.substr(0, editor.prop('selectionStart')).split('\n').length - 1;
+ cursorLine = text.substring(0, editor.prop('selectionStart')).split('\n').length - 1;
totalLine = text.split(/\r*\n/).length;
}
if (cursorLine === 0) {
diff --git a/js/src/database/routines.js b/js/src/database/routines.js
index 7db8410ae949..7a0800f187b6 100644
--- a/js/src/database/routines.js
+++ b/js/src/database/routines.js
@@ -554,19 +554,19 @@ const DatabaseRoutines = {
* the input field being reindexed
*/
var inputname = $(this).attr('name');
- if (inputname.substr(0, 14) === 'item_param_dir') {
- $(this).attr('name', inputname.substr(0, 14) + '[' + index + ']');
- } else if (inputname.substr(0, 15) === 'item_param_name') {
- $(this).attr('name', inputname.substr(0, 15) + '[' + index + ']');
- } else if (inputname.substr(0, 15) === 'item_param_type') {
- $(this).attr('name', inputname.substr(0, 15) + '[' + index + ']');
- } else if (inputname.substr(0, 17) === 'item_param_length') {
- $(this).attr('name', inputname.substr(0, 17) + '[' + index + ']');
+ if (inputname.startsWith('item_param_dir')) {
+ $(this).attr('name', inputname.substring(0, 14) + '[' + index + ']');
+ } else if (inputname.startsWith('item_param_name')) {
+ $(this).attr('name', inputname.substring(0, 15) + '[' + index + ']');
+ } else if (inputname.startsWith('item_param_type')) {
+ $(this).attr('name', inputname.substring(0, 15) + '[' + index + ']');
+ } else if (inputname.startsWith('item_param_length')) {
+ $(this).attr('name', inputname.substring(0, 17) + '[' + index + ']');
$(this).attr('id', 'item_param_length_' + index);
- } else if (inputname.substr(0, 20) === 'item_param_opts_text') {
- $(this).attr('name', inputname.substr(0, 20) + '[' + index + ']');
- } else if (inputname.substr(0, 19) === 'item_param_opts_num') {
- $(this).attr('name', inputname.substr(0, 19) + '[' + index + ']');
+ } else if (inputname.startsWith('item_param_opts_text')) {
+ $(this).attr('name', inputname.substring(0, 20) + '[' + index + ']');
+ } else if (inputname.startsWith('item_param_opts_num')) {
+ $(this).attr('name', inputname.substring(0, 19) + '[' + index + ']');
}
});
index++;
@@ -593,9 +593,9 @@ const DatabaseRoutines = {
if (isSuccess) {
$(this).find(':input').each(function () {
inputname = $(this).attr('name');
- if (inputname.substr(0, 14) === 'item_param_dir' ||
- inputname.substr(0, 15) === 'item_param_name' ||
- inputname.substr(0, 15) === 'item_param_type') {
+ if (inputname.startsWith('item_param_dir') ||
+ inputname.startsWith('item_param_name') ||
+ inputname.startsWith('item_param_type')) {
if ($(this).val() === '') {
$(this).trigger('focus');
isSuccess = false;
@@ -616,7 +616,7 @@ const DatabaseRoutines = {
var $inputtyp = $(this).find('select[name^=item_param_type]');
var $inputlen = $(this).find('input[name^=item_param_length]');
if ($inputtyp.length && $inputlen.length) {
- if (($inputtyp.val() === 'ENUM' || $inputtyp.val() === 'SET' || $inputtyp.val().substr(0, 3) === 'VAR') &&
+ if (($inputtyp.val() === 'ENUM' || $inputtyp.val() === 'SET' || $inputtyp.val().startsWith('VAR')) &&
$inputlen.val() === ''
) {
$inputlen.trigger('focus');
@@ -634,7 +634,7 @@ const DatabaseRoutines = {
// be set, if the type is SET, ENUM, VARCHAR or VARBINARY.
var $returntyp = this.$ajaxDialog.find('select[name=item_returntype]');
var $returnlen = this.$ajaxDialog.find('input[name=item_returnlength]');
- if (($returntyp.val() === 'ENUM' || $returntyp.val() === 'SET' || $returntyp.val().substr(0, 3) === 'VAR') &&
+ if (($returntyp.val() === 'ENUM' || $returntyp.val() === 'SET' || $returntyp.val().startsWith('VAR')) &&
$returnlen.val() === ''
) {
$returnlen.trigger('focus');
diff --git a/js/src/designer/history.js b/js/src/designer/history.js
index 492686346f30..96bd7058509e 100644
--- a/js/src/designer/history.js
+++ b/js/src/designer/history.js
@@ -504,7 +504,7 @@ DesignerHistory.queryGroupBy = function () {
str += '`' + historyArray[i].getColumnName() + '`, ';
}
}
- str = str.substr(0, str.length - 2);
+ str = str.substring(0, str.length - 2);
return str;
};
@@ -529,7 +529,7 @@ DesignerHistory.queryHaving = function () {
if (and === '(') {
and = '';
} else {
- and = and.substr(0, and.length - 2) + ')';
+ and = and.substring(0, and.length - 2) + ')';
}
return and;
};
@@ -549,7 +549,7 @@ DesignerHistory.queryOrderBy = function () {
historyArray[i].getObj().getOrder() + ', ';
}
}
- str = str.substr(0, str.length - 2);
+ str = str.substring(0, str.length - 2);
return str;
};
diff --git a/js/src/designer/move.js b/js/src/designer/move.js
index cdedae14650f..8f93e64516da 100644
--- a/js/src/designer/move.js
+++ b/js/src/designer/move.js
@@ -1569,7 +1569,7 @@ DesignerMove.hideTabAll = function (idThis) {
var E = document.getElementById('container-form');
var EelementsLength = E.elements.length;
for (var i = 0; i < EelementsLength; i++) {
- if (E.elements[i].type === 'checkbox' && E.elements[i].id.substring(0, 10) === 'check_vis_') {
+ if (E.elements[i].type === 'checkbox' && E.elements[i].id.startsWith('check_vis_')) {
if (idThis.alt === 'v') {
E.elements[i].checked = true;
document.getElementById(E.elements[i].value).style.display = '';
@@ -1622,7 +1622,7 @@ DesignerMove.noHaveConstr = function (idThis) {
var E = document.getElementById('container-form');
var EelementsLength = E.elements.length;
for (var i = 0; i < EelementsLength; i++) {
- if (E.elements[i].type === 'checkbox' && E.elements[i].id.substring(0, 10) === 'check_vis_') {
+ if (E.elements[i].type === 'checkbox' && E.elements[i].id.startsWith('check_vis_')) {
if (!DesignerMove.inArrayK(E.elements[i].value, a)) {
if (idThis.alt === 'v') {
E.elements[i].checked = true;
diff --git a/js/src/functions.js b/js/src/functions.js
index 22d6983d2139..c029a4198f9f 100644
--- a/js/src/functions.js
+++ b/js/src/functions.js
@@ -710,7 +710,7 @@ Functions.confirmQuery = function (theForm1, sqlQuery1) {
doConfirmRegExp4.test(sqlQuery1)) {
var message;
if (sqlQuery1.length > 100) {
- message = sqlQuery1.substr(0, 100) + '\n ...';
+ message = sqlQuery1.substring(0, 100) + '\n ...';
} else {
message = sqlQuery1;
}
@@ -1374,8 +1374,8 @@ Functions.getJsConfirmCommonParam = function (elem, parameters) {
var sep = CommonParams.get('arg_separator');
if (params) {
// Strip possible leading ?
- if (params.substring(0,1) === '?') {
- params = params.substr(1);
+ if (params.startsWith('?')) {
+ params = params.substring(1);
}
params += sep;
} else {
@@ -4551,8 +4551,8 @@ Functions.configGet = function (key, cached, successCallback) {
Functions.getPostData = function () {
var dataPost = this.attr('data-post');
// Strip possible leading ?
- if (dataPost !== undefined && dataPost.substring(0,1) === '?') {
- dataPost = dataPost.substr(1);
+ if (dataPost !== undefined && dataPost.startsWith('?')) {
+ dataPost = dataPost.substring(1);
}
return dataPost;
};
diff --git a/js/src/gis_data_editor.js b/js/src/gis_data_editor.js
index 64c79a8bfe3b..235feb72c6b9 100644
--- a/js/src/gis_data_editor.js
+++ b/js/src/gis_data_editor.js
@@ -296,7 +296,7 @@ AJAX.registerOnload('gis_data_editor.js', function () {
var $a = $(this);
var name = $a.attr('name');
// Eg. name = gis_data[0][MULTIPOINT][add_point] => prefix = gis_data[0][MULTIPOINT]
- var prefix = name.substr(0, name.length - 11);
+ var prefix = name.substring(0, name.length - 11);
// Find the number of points
var $noOfPointsInput = $('input[name=\'' + prefix + '[no_of_points]' + '\']');
var noOfPoints = parseInt($noOfPointsInput.val(), 10);
@@ -314,7 +314,7 @@ AJAX.registerOnload('gis_data_editor.js', function () {
var name = $a.attr('name');
// Eg. name = gis_data[0][MULTILINESTRING][add_line] => prefix = gis_data[0][MULTILINESTRING]
- var prefix = name.substr(0, name.length - 10);
+ var prefix = name.substring(0, name.length - 10);
var type = prefix.slice(prefix.lastIndexOf('[') + 1, prefix.lastIndexOf(']'));
// Find the number of lines
@@ -349,7 +349,7 @@ AJAX.registerOnload('gis_data_editor.js', function () {
var $a = $(this);
var name = $a.attr('name');
// Eg. name = gis_data[0][MULTIPOLYGON][add_polygon] => prefix = gis_data[0][MULTIPOLYGON]
- var prefix = name.substr(0, name.length - 13);
+ var prefix = name.substring(0, name.length - 13);
// Find the number of polygons
var $noOfPolygonsInput = $('input[name=\'' + prefix + '[no_of_polygons]' + '\']');
var noOfPolygons = parseInt($noOfPolygonsInput.val(), 10);
diff --git a/js/src/home.js b/js/src/home.js
index 597a6361b4ca..315e5ef96659 100644
--- a/js/src/home.js
+++ b/js/src/home.js
@@ -12,13 +12,13 @@ const GitInfo = {
// Parse possible alpha/beta/rc/
const state = str.split('-');
if (state.length >= 2) {
- if (state[1].substr(0, 2) === 'rc') {
- add = - 20 - parseInt(state[1].substr(2), 10);
- } else if (state[1].substr(0, 4) === 'beta') {
- add = - 40 - parseInt(state[1].substr(4), 10);
- } else if (state[1].substr(0, 5) === 'alpha') {
- add = - 60 - parseInt(state[1].substr(5), 10);
- } else if (state[1].substr(0, 3) === 'dev') {
+ if (state[1].startsWith('rc')) {
+ add = - 20 - parseInt(state[1].substring(2), 10);
+ } else if (state[1].startsWith('beta')) {
+ add = - 40 - parseInt(state[1].substring(4), 10);
+ } else if (state[1].startsWith('alpha')) {
+ add = - 60 - parseInt(state[1].substring(5), 10);
+ } else if (state[1].startsWith('dev')) {
/* We don't handle dev, it's git snapshot */
add = 0;
}
diff --git a/js/src/navigation.js b/js/src/navigation.js
index d89b1b1439d2..503c203978cc 100644
--- a/js/src/navigation.js
+++ b/js/src/navigation.js
@@ -447,7 +447,7 @@ $(function () {
/** New index */
$(document).on('click', '#pma_navigation_tree li.new_index a.ajax', function (event) {
event.preventDefault();
- var url = $(this).attr('href').substr(
+ var url = $(this).attr('href').substring(
$(this).attr('href').indexOf('?') + 1
) + CommonParams.get('arg_separator') + 'ajax_request=true';
var title = Messages.strAddIndex;
@@ -457,7 +457,7 @@ $(function () {
/** Edit index */
$(document).on('click', 'li.index a.ajax', function (event) {
event.preventDefault();
- var url = $(this).attr('href').substr(
+ var url = $(this).attr('href').substring(
$(this).attr('href').indexOf('?') + 1
) + CommonParams.get('arg_separator') + 'ajax_request=true';
var title = Messages.strEditIndex;
diff --git a/js/src/server/status/monitor.js b/js/src/server/status/monitor.js
index 472487d654f0..ba13e4fe7f56 100644
--- a/js/src/server/status/monitor.js
+++ b/js/src/server/status/monitor.js
@@ -89,7 +89,7 @@ AJAX.registerOnload('server/status/monitor.js', function () {
$('a.popupLink').on('click', function () {
var $link = $(this);
- $('div.' + $link.attr('href').substr(1))
+ $('div.' + $link.attr('href').substring(1))
.show()
.offset({ top: $link.offset().top + $link.height() + 5, left: $link.offset().left })
.addClass('openedPopup');
@@ -862,7 +862,7 @@ AJAX.registerOnload('server/status/monitor.js', function () {
$dialog.find('img.ajaxIcon').hide();
$dialog.find('a.set').on('click', function () {
var nameValue = $(this).attr('href').split('-');
- loadLogVars({ varName: nameValue[0].substr(1), varValue: nameValue[1] });
+ loadLogVars({ varName: nameValue[0].substring(1), varValue: nameValue[1] });
$dialog.find('img.ajaxIcon').show();
});
}
diff --git a/js/src/table/change.js b/js/src/table/change.js
index f69a10e8aa01..03473c9bfff7 100644
--- a/js/src/table/change.js
+++ b/js/src/table/change.js
@@ -319,7 +319,7 @@ function verificationsAfterFieldChange (urlField, multiEdit, theType) {
});
}
- if (target.value === 'HEX' && theType.substring(0,3) === 'int') {
+ if (target.value === 'HEX' && theType.startsWith('int')) {
// Add note when HEX function is selected on a int
var newHexInfo = '
' + Messages.HexConversionInfo + '
'; if (!$('#note' + target.id).length) { @@ -338,10 +338,10 @@ function verificationsAfterFieldChange (urlField, multiEdit, theType) { $('input[name=\'insert_ignore_' + multiEdit + '\']').prop('checked', false); var charExceptionHandling; - if (theType.substring(0,4) === 'char') { - charExceptionHandling = theType.substring(5,6); - } else if (theType.substring(0,7) === 'varchar') { - charExceptionHandling = theType.substring(8,9); + if (theType.startsWith('char')) { + charExceptionHandling = theType.substring(5, 6); + } else if (theType.startsWith('varchar')) { + charExceptionHandling = theType.substring(8, 9); } if (functionSelected) { $thisInput.removeAttr('min'); @@ -436,7 +436,7 @@ AJAX.registerOnload('table/change.js', function () { }); jQuery.validator.addMethod('validationFunctionForMd5', function (value, element, options) { - return !(value.substring(0, 3) === 'MD5' && + return !(value.startsWith('MD5') && typeof options.data('maxlength') !== 'undefined' && options.data('maxlength') < 32); }); diff --git a/js/src/table/chart.js b/js/src/table/chart.js index c6fbba520e20..8186958c88dc 100644 --- a/js/src/table/chart.js +++ b/js/src/table/chart.js @@ -20,12 +20,12 @@ function extractDate (dateString) { matches = dateTimeRegExp.exec(dateString); if (matches !== null && matches.length > 0) { match = matches[0]; - return new Date(match.substr(0, 4), parseInt(match.substr(5, 2), 10) - 1, match.substr(8, 2), match.substr(11, 2), match.substr(14, 2), match.substr(17, 2)); + return new Date(match.substring(0, 4), parseInt(match.substring(5, 7), 10) - 1, match.substring(8, 10), match.substring(11, 13), match.substring(14, 16), match.substring(17, 19)); } else { matches = dateRegExp.exec(dateString); if (matches !== null && matches.length > 0) { match = matches[0]; - return new Date(match.substr(0, 4), parseInt(match.substr(5, 2), 10) - 1, match.substr(8, 2)); + return new Date(match.substring(0, 4), parseInt(match.substring(5, 7), 10) - 1, match.substring(8, 10)); } } return null;