Many of the difficulties of grammar stem from learning by listening. Most of us learn language this way first – by listening to our parents and carers – and it works pretty well. But it can lead to confusion where letters or words sound the same.
One example of this is the phrase “I should of…”
“Should of” is a corruption from “Should have” or more likely “Should’ve”. It’s wrong, plain and simple. There is no such phrase as “Should of” and I can’t think of a circumstance where these two words would ever need to sit next to each other.
Of is a preposition, Have is a verb.
“Should” is an auxiliary verb, and will always be followed by a verb. E.g. “I should think”, “You should go”, “We should be happy”. The only exception to this would be if the verb were separated from should by a sub-clause, which is also the only occasion I can imagine where “of” would follow it. However, even then, they should, of course, be separated by a comma.
So, if you want a simple rule, here it is: The phrase is “should have” (or shall have, will have, would have, can have, could have) and NEVER of.