InStr против indexOf - PullRequest
       36

InStr против indexOf

2 голосов
/ 01 ноября 2019

Является ли эта функция ASP InStr эквивалентной функции js indexOf:

ASP:

<%
Function validation(ByVal var2)
  If (InStr(var1, "," & var2 & ".") = 0) Then
    validation = 1
    Exit Function
  End If
End Function
%>

JS:

validation = function(var2) {
  if (var1.indexOf("," + var2 + ".") == -1) {
      ValidateAction = 1;
  };
  return ValidateAction;
};

1 Ответ

4 голосов
/ 01 ноября 2019

Нет, они одинаковы только с одним случаем. Если значение не найдено, InStr возвращает 0, а indexOf возвращает -1, но Instr имеет много других, взгляните на

Различия

Функция InStr возвращает позициюпервое вхождение одной строки в другую.

Функция InStr может возвращать следующие значения:

If string1 is "" - InStr returns 0
If string1 is Null - InStr returns Null
If string2 is "" - InStr returns start
If string2 is Null - InStr returns Null
If string2 is not found - InStr returns 0
If string2 is found within string1 - InStr returns the position at which match is found
If start > Len(string1) - InStr returns 0

Принимая во внимание, что метод javascript indexOf() возвращает позицию первого вхождения указанного значения встрока.

This method returns -1 if the value to search for never occurs.
...