Habría que usar el método match.
Creo que esto tendría que andar (puse también el punto y el espacio en los caracteres especiales):  
Código:
 function validarTexto(texto){
   if (texto.match(/^[A-Z0-9. #º\/]+$/i))
       return true;
   else
       return false;
}
  Expresión regular: 
^ inicio del texto
[] define una clase, caracteres posibles de usar. En este caso el rango A-Z, el rango 0-9 y algunos caracteres especiales. La barra / debe escaparse con \ 
+ despues de la clase especifica uno o mas de los caracteres de la clase
$ fin del texto 
El modificador i despues de la expresión regular indica que no sea sensible a mayúsculas y minúsculas. 
Un script de prueba de esto, asi como está lo pegas en un archivo y lo vas probando con distintos valores en el navegador:  
Código:
 <html>
<head>
<title>Titulo</title>
<script language="JavaScript">
function validarTexto(texto){
   if (texto.match(/^[A-Z0-9. #º\/]+$/i))
       return true;
   else
       return false;
}
function valida(){
	var elem = document.getElementById("texto");
	if (validarTexto(elem.value))
		alert("Valida");
	else
		alert("No valida");
	return false;	
}
</script>
</head>
<body>
Validar:<br><br>
<input type=text name=texto id=texto value=""> 
<a href="#" onClick="return valida();">Validar</a>
</body>
</html>
  Espero que te sirva.