[英]Skipping the special characters from users input of a text string and adding Hyphen after every word in Javascript
HTML:
<input type="text" placeholder="Enter page title name" id="text" style="width: 500px;" />
<br />
<br />
<input type="button" value="Click Me" id="button" />
用戶輸入:: ::“這是Ram的筆嗎?”(不帶雙引號)
當用戶單擊按鈕時,輸入應為
預期的::“ Is-this-Rams-pen”(不帶雙引號)
主要目的是在每個單詞之間添加連字符(-),並跳過其他特殊字符。
Javascript是否可能?
使用這段代碼。
$('#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, '-')
用連字符替換所有下划線和空格。
正則表達式的來源: Java的RegEx僅允許字母數字
您可以使用2條替換語句
str.replace(/\s+/g, "-").replace(/[^a-zA-Z\d]+/g, "")
另一種方法是選擇所有不包含特殊字符的文本(以及空格),然后將空格替換為-
$('#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" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.