Tengo una página con un cuadro de texto donde se supone que un usuario debe ingresar un código de registro de 24 caracteres (letras y números, sin distinción entre mayúsculas y minúsculas). Solía maxlength
limitar al usuario a ingresar 24 caracteres.
Los códigos de registro generalmente se dan como grupos de caracteres separados por guiones, pero me gustaría que el usuario ingrese los códigos sin guiones.
¿Cómo puedo escribir mi código JavaScript sin jQuery para verificar que una cadena dada que el usuario ingresa no contiene guiones, o mejor aún, solo contiene caracteres alfanuméricos?
javascript
string
Río Vivian
fuente
fuente
inArray
.Respuestas:
Para encontrar "hola" en
your_string
Para el alfanumérico puede usar una expresión regular:
http://www.regular-expressions.info/javascript.html
Expresión regular alfanumérica
fuente
/hello/g.test(your_string)
. Si bien indexOf funciona, creo que una prueba de expresión regular cuenta una mejor historia de lo que está tratando de lograr. Si estoy tratando de encontrar una secuencia de caracteres dentro de una cadena, el índice es irrelevante.Con ES6. Incluye ()
E: No es compatible con IE; en su lugar, puede usar el operador Tilde
~
( Bitwise NOT ) con .indexOf ()Utilizado con un número, el operador de Tilde efectivamente lo hace
~N => -(N+1)
. Úselo con doble negación!!
( NO lógico ) para convertir los números en bools:fuente
Si tiene el texto en variable
foo
:Esto probará y garantizará que el usuario haya ingresado al menos un carácter y haya ingresado solo caracteres alfanuméricos.
fuente
verificar si la cadena (palabra / oración ...) contiene una palabra / carácter específico
fuente
ES6 contiene el método incorporado (
includes
) en String'sprototype
, que se puede usar para verificar si la cadena contiene otra cadena o no.El siguiente polyfill se puede usar para agregar este método en navegadores no compatibles. ( Fuente )
fuente
Use una expresión regular para lograr esto.
fuente
Todos ustedes piensan demasiado. Solo usa una expresión regular simple, es tu mejor amigo.
Aprende Regex en 5 minutos?
fuente
if ( string1.test(regex) ) { alert("He likes pizza!"); }
var regex = /^[a-z0-9]+$/i
regex.test(string1)
regex.test(str)
. (str.match(regex)
es similar, pero no devuelve un valor booleano.)Si está buscando caracteres al principio o al final de la cadena, también puede usar
startsWith
yendsWith
fuente
fuente
Para probar solo caracteres alfanuméricos:
La expresión regular está probando 1 o más (+) del conjunto de caracteres 0-9, AZ y az, comenzando con el comienzo de la entrada (^) y deteniéndose con el final de la entrada ($).
fuente
La respuesta de Kevins es correcta pero requiere un número "mágico" como sigue:
En ese caso, debe saber que -1 significa no encontrado . Creo que una versión un poco mejor sería:
fuente
indexOf()
devolverá -1 si no se encuentra la cadena. Entonces, apenas es más magia que usar 0 .Prueba esto:
Aquí hay un ejemplo: http://jsfiddle.net/oliverni/cb8xw/
fuente
La función de búsqueda de String también es útil. Busca un carácter y una subcadena en una cadena determinada.
'apple'.search('pl')
devoluciones2
'apple'.search('x')
regreso-1
fuente
Si está leyendo datos del DOM, como la etiqueta ap o h1, por ejemplo, querrá usar dos funciones nativas de JavaScript, es bastante fácil pero limitado a es6, al menos para la solución que voy a proporcionar. Buscaré todas las etiquetas p dentro del DOM, si el texto contiene una "T", se eliminará todo el párrafo. ¡Espero que este pequeño ejemplo ayude a alguien!
HTML
JS
fuente
Funciona perfectamente. Este ejemplo ayudará mucho.
fuente
Demostración: El método include () encuentra el carácter "contiene" en toda la cadena, devolverá un verdadero.
fuente
Compruebe si la cadena es alfanumérica o alfanumérica + algunos caracteres permitidos
Es probable que el método alfanumérico más rápido se mencione en: La mejor forma de verificación alfanumérica en Javascript, ya que opera en rangos de números directamente.
Luego, para permitir algunos otros caracteres adicionales, podemos ponerlos en una
Set
búsqueda rápida.Creo que esta implementación tratará correctamente los pares sustitutos correctamente.
GitHub aguas arriba .
Probado en Node.js v10.15.1.
fuente