The answer to both I think is to make the effort to meet and talk with people. Not on the internet but face to face. Ok the internet is ok as a tool in bringing like minded people together but you can never tell a persons character until you meet and talk with them.
When you meet the right person you will know it in your heart if your future lies with them. Trust, honesty and love three most important requirements to be happy. Maybe you could add tolerence for good measure. There is someone out there for everyone, no one has to be alone. You just have'nt found them yet.
Best of luck.