2016-04-24 23 views
0

HTML内のすべての単語の後にハイフンを追加:「?このラムのペンです」テキスト文字列のユーザ入力から特殊文字をスキップし、Javascriptの

<input type="text" placeholder="Enter page title name" id="text" style="width: 500px;" /> 
<br /> 
<br /> 
<input type="button" value="Click Me" id="button" /> 

ユーザー入力::

(二重引用符なし)すべての間で - ()ユーザーボタンをクリックし、入力する必要があります。..

EXPECTED

::(二重引用符なし)「です-この-ラムズペン」

主な目的は、ハイフンを追加することにある

他の特殊文字をスキップします。

Javascriptでも可能ですか?

答えて

1

このコードを使用してください。

$('#button').on('click', function() { 

    var str = $('#text').val(); 

    $('#text').val((str.replace(/[^a-z0-9\s]/gi, '').trim().replace(/[_\s]/g, '-'))); 
}) 

replace(/[^a-z0-9\s]/gi, '')文字列を英数字のみにフィルタリングします。 replace(/[_\s]/g, '-')はすべてのアンダースコアとスペースをハイフンに置き換えます。正規表現の

出典:RegEx for Javascript to allow only alphanumeric

JSFIDDLE

+0

こんにちは..ご返信いただきありがとうございます。しかし、それは動作していないようです。 https://jsfiddle.net/fbhs5wyo/ – Lipak

+0

@Lipak説明してください: 'しかし、それは動作していないようです。 –

+0

@A。ウォルフ、フィドルリンクを確認できますか? https://jsfiddle.net/fbhs5wyo/ – Lipak

0

あなたは2もう一つの方法はありません(スペースと一緒に)すべてのテキストを選択することで文

str.replace(/\s+/g, "-").replace(/[^a-zA-Z\d]+/g, "") 
0

を交換使用することができます特殊文字を入力してスペースを置き換えます。-

$('#button').on('click', function() { 
 

 
    var str = $('#text').val(); 
 

 
    $('#text').val((str.match(/[a-zA-Z0-9\s]+/gi).join('').trim().replace(/\s+/g, '-'))); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" placeholder="Enter page title name" id="text" style="width: 500px;" /> 
 
<br /> 
 
<br /> 
 
<input type="button" value="Click Me" id="button" />

+0

ありがとう:)あなたは素晴らしいです!可能であれば、私の質問に答えてください。ユーザーがボタンをクリックしたときにjavascriptで複数のことを行うにはどうすればよいですか? – Lipak

+0

@Lipakあなたの複数のものは何ですか?クリック機能の中にスクリプトを書くことができます –