Ho un form con dei campi testo. Vorrei controllare che i testi inseriti non contengano caratteri diversi da numeri e lettere (NO %' $ £ / " * etc...)

Ho una funzione generale che richiama check_text relativa al controllo testo:

codice:
function check_generale() { 
	var text1 = document.form1.nome.value;
	var text2= document.form1.cognome.value;
	...
	if(!check_text(text1)) 
	{alert('Il campo "Nome" è errato!'); } 

	if(!check_text(text2)) 
	{alert('Il campo "Cognome" è errato!'); }
	...
MA la mia funzione non funziona.. come posso passare il parametro che identifichi il campo da controllare (es: nome, congome, vi, et...) e la sua validità?
codice:
function check_text(text) { 
  text.value = text.value.replace(/[^\d,\.]/g,'');

}
Grazie