Насколько я понимаю, имя функции хранится в переменной functionName . Теперь это отличается от хранения ссылки на саму функцию. Таким образом, вы не можете просто использовать functionName (), потому что здесь functionName ссылается на объект String, а не на функцию.
Итак, вот что вам нужно сделать, используйте functionName, чтобы получить объект функции. Как предложено выше, вы можете использовать window [functionName], если функция была определена в области видимости окна. Но исходя из того, как ваш код структурирован, вы, скорее всего, будете использовать эту функцию как член какого-то другого объекта, и вам нужно будет использовать этот объект для доступа к функции. Например, если переменная objContainedFunction относится к объекту, который содержит функцию с именем, определенным в functionName , то вы можете вызвать функцию, используя
objContainedFunction [functionName] () .
А что касается вашего редактирования -
$ (this) .rules ("add", {имя-метода: "^ [a-zA-Z '. \ S] {1,40} $"});
Что именно здесь требуется? Потому что, как я упоминал ранее, methodName - это строка здесь.