He visto muchos ejemplos de jQuery donde el tamaño y el nombre del parámetro son desconocidos.
Mi URL solo tendrá 1 cadena:
http://example.com?sent=yes
Solo quiero detectar:
- ¿Existe
sent
? - ¿Es igual a "sí"?
jquery
url
parameters
query-string
querystringparameter
LeBlaireau
fuente
fuente
Respuestas:
La mejor solución aquí .
Y esto es cómo se puede utilizar esta función asumiendo la dirección URL es,
http://dummy.com/?technology=jquery&blog=jquerybyexample
.fuente
false
aonull
para búsqueda vacía&
o=
en un parámetro.Solución desde 2020
Tenemos: http://example.com?sent=yes
¿El envió existen ?
¿Es igual a "sí"?
y luego solo compáralo.
fuente
if ('URLSearchParams' in window) { // Browser supports URLSearchParams}
ver aquíFragmento de código jQuery para obtener las variables dinámicas almacenadas en la url como parámetros y almacenarlas como variables JavaScript listas para usar con sus scripts:
example.com?param1=name¶m2=&id=6
ejemplos de parámetros con espacios
fuente
return results[1] || 0;
Debe decodificar en caso de que haya caracteres especiales como parámetro o Umlaute, etc. Por lo tanto, en lugar de hacerlo, debería serloreturn decodeURI(results[1]) || 0;
|| 0
parte ya que ya hay una comprobación del resultado, no siempre devolvería la matriz de coincidencias?Siempre pego esto como una línea. Ahora params tiene los vars:
multilínea:
como una función
que podrías usar como:
o
fuente
replace(/[?&;]+([^=]+)=([^&;]*)/gi
para reconocer ";" personaje como separador también.var params={};window.location.hash.replace(/[#&]+([^=&]+)=([^&]*)/gi,function(str,key,value){params[key] = value;});
esto es útil para cosas como AJAX donde el hash en la ventana se actualiza con solicitudes ajax pero también uno para que el usuario vaya a una uri que contiene un hashOtra función alternativa más ...
fuente
param('t') == param('sent') == 'yes'
en el ejemplo OP. Aquí hay una solución:return (location.search.split(new RegExp('[?&]' + name + '='))[1] || '').split('&')[0]
; También tenga en cuenta que no puede saber si el parámetro existe porque obtiene una cadena vacía para los parámetros que faltan.return (location.search.split('?' + name + '=')[1] || location.search.split('&' + name + '=')[1] || '').split('&')[0];
Puede ser demasiado tarde. Pero este método es muy fácil y simple.
ACTUALIZACIÓN
Requiere el complemento url: plugins.jquery.com/url
Gracias -Ripounet
fuente
O puede usar esta pequeña función ordenada, porque ¿ por qué soluciones demasiado complicadas?
que se ve aún mejor cuando se simplifica y se alinea:
tl; dr solución de una línea
Pero, ¿qué pasa si tienes caracteres codificados o claves multivalor ?
Es mejor que vea esta respuesta: ¿Cómo puedo obtener valores de cadena de consulta en JavaScript?
Escurrir el bulto
fuente
Utilizando
URLSearchParams
:Tenga cuidado con la compatibilidad (en su mayoría está bien, pero IE y Edge pueden ser una historia diferente, verifique esto para obtener referencias compatibles: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams )
fuente
Este es simple y funcionó para mí.
así que si tu url es http://www.yoursite.com?city=4
prueba esto
fuente
¿Tal vez quieras echarle un vistazo al dentista JS ? (descargo de responsabilidad: escribí el código)
código:
con Dentist JS, básicamente puede llamar a la función extract () en todas las cadenas (por ejemplo, document.URL.extract ()) y obtiene un HashMap de todos los parámetros encontrados. También es personalizable para tratar con delimitadores y todo.
Versión minimizada <1kb
fuente
Espero que esto sea de ayuda.
fuente
fuente
Pruebe esta demostración de trabajo http://jsfiddle.net/xy7cX/
API:
inArray
: http://api.jquery.com/jQuery.inArray/Esto debería ayudar
:)
código
fuente
Existe esta gran biblioteca: https://github.com/allmarkedup/purl
que te permite hacer simplemente
El ejemplo es asumir que estás usando jQuery. También podría usarlo como javascript simple, la sintaxis sería un poco diferente.
fuente
Esto podría ser una exageración, pero hay una biblioteca bastante popular ahora disponible para URI de análisis sintáctico, llamados URI.js .
Ejemplo
fuente
Tan simple que puede usar cualquier url y obtener valor
Ejemplo de uso
Nota: Si un parámetro está presente varias veces (? First = value1 & second = value2), obtendrá el primer valor (value1) y el segundo valor como (value2).
fuente
Esto te dará un buen objeto para trabajar
Y entonces;
fuente
Esto se basa en la respuesta de Gazoris , pero la URL decodifica los parámetros para que puedan usarse cuando contienen datos distintos de números y letras:
fuente
Hay otro ejemplo con el uso de la biblioteca URI.js.
El ejemplo responde las preguntas exactamente como se le preguntó.
fuente
La mejor solución aquí .
Con la función anterior, puede obtener valores de parámetros individuales:
fuente
Versión en coffeescript de la respuesta de Sameer
fuente
Una ligera mejora a la respuesta de Sameer, guarda los parámetros en caché para cerrarlos para evitar analizar y recorrer todos los parámetros cada vez que se llama
fuente
Yo uso esto y funciona. http://codesheet.org/codesheet/NF246Tzs
fuente
Con JavaScript vainilla, puede tomar fácilmente los parámetros (location.search), obtener la subcadena (sin el?) Y convertirla en una matriz, dividiéndola por '&'.
A medida que recorre urlParams, puede dividir la cadena nuevamente con '=' y agregarla al objeto 'params' como object [elmement [0]] = element [1]. Súper simple y de fácil acceso.
http://www.website.com/?error=userError&type=handwritten
fuente
¿Qué pasa si hay & en el parámetro de URL como filename = "p & g.html" & uid = 66
En este caso, la primera función no funcionará correctamente. Entonces modifiqué el código
fuente
Es cierto que estoy agregando mi respuesta a una pregunta con respuesta excesiva, pero esto tiene las ventajas de:
- No depende de ninguna biblioteca externa, incluida jQuery
- No contamina el espacio de nombres de la función global, al extender 'String'
- No crea ningún dato global y realiza un procesamiento innecesario después de encontrar una coincidencia
- Manejo de problemas de codificación, y aceptación (asumiendo) nombre de parámetro no codificado
- Evitar
for
bucles explícitosEntonces lo usarías como:
fuente
Si desea encontrar un parámetro específico de una URL específica:
fuente
Otra solución que usa jQuery y JSON, para que pueda acceder a los valores de los parámetros a través de un objeto.
Asumiendo que su URL es
http://example.com/?search=hello+world&language=en&page=3
Después de eso, solo es cuestión de usar parámetros como este:
regresar
El uso más útil de esto es ejecutarlo en la carga de la página y hacer uso de una variable global para usar los parámetros en cualquier lugar donde los necesite.
Si su parámetro contiene valores numéricos, simplemente analice el valor.
Si no hay parámetros
param
solo habrá un objeto vacío.fuente
fuente
utilizar este
fuente