Functional testing is testing a section of code for its functionality. It checks if the functions execute how its supposed to.
Regression testing takes the test cases that are already tested and test them again to check if the changes made to the code has not affected its initial functionality.
Both these kinds of testing are important.