web-dev-qa-db-fra.com

Comment puis-je changer du texte en minuscules et remplacer les espaces par des tirets à l'aide de jQuery?

J'ai un champ de saisie caché qui prendra la valeur d'un autre lors de la frappe et j'essaie de comprendre comment transformer la valeur du champ caché en minuscules et remplacer les espaces par des tirets.

Donc, si quelqu'un tape "Ceci est un échantillon" dans le champ de saisie du titre, le champ de saisie de l'identifiant sera défini sur "ceci est un échantillon".

<input type="text" name="title" value="This Is A Sample" />
<input type="hidden" name="identifier" value="this-is-a-sample />
29
KarmaKarmaKarma

Cela remplacera tous les espaces par -

<script type="text/javascript">
$(document).ready(function(){
var test= $('input[name="title"]').val();
test = test.toLowerCase().replace(/ /g, '-');
$('input[name="identifier"]').val(test);
}):
</script>
56
Alpesh

Pour convertir en minuscules:

var lowercase = 'This Is A Sample'.toLowerCase();

Pour remplacer un espace vide:

var Replace= 'This Is A Sample'.replace(/ /g,"-");

jetez un oeil à cet exemple

@ JSbin

15
Nick

Vous pouvez le faire comme ceci:

<script type="text/javascript">
var el = document.getElementById('identifier');
var text = el.value;
el.value = text.toLowerCase().replace(' ', '-');
</script>

ou si vous utilisez JQuery:

<script type="text/javascript">
$('identifier').value = $('identifier').value.toLowerCase().replace(' ', '-');
</script>
3
CristiC
var lower = $('input#textFieldId').val().toLowerCase(); // to lower case
var hyp = lower.replace(/ /g,"-");                      // spaces to hyphens
$('input#hiddenFieldId').val(hyp);                      // in hidden field

Cochez

2
Naveed

Pour basculer votre texte en minuscules, utilisez la méthode JavaScript toLowerCase () .

<script type="text/javascript">

var str="Hello World!";
document.write(str.toLowerCase());

</script> 

Voir cette question Stackoverflow sur la façon de remplacer tous les espaces par des tirets en utilisant JavaScript.

1
JasCav