I want to make a registration form that be different for efferent role. At the first I use the auto assign role for that the user can choose the role. At now the user can choose him-self's role. I want if he(or she) choose role "A": He should answer some field like phone number and if he(or she!) choose role "B" He should answer some other field like home address but he cant answer the "phone number" by choosing this role What should I do? Is there any module?
Multiple Registration module is the answer. I haven't tried it, but here is what it says
This module adds ability to create role-specific registration pages. Example of situation when this module could help you:
You need to create two user registration pages. One for general users and one, let's say, for hosters. You need to add several specific fields for hoster registration page and these fields should not be available on general user registration page. Furthermore, if you need some hosters fields only on user edit page, without showing these fields on registration page, this module could help you too.
Profile2 is another option. It lets you add different fields for different roles which are not part of user entity as opposed to above module.
Try the Conditional Fields Module. This module allows you to hide or show fields based on other fields.