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.