我讓用戶輸入一些標籤。這些標記應該只包含字符:如何僅允許jQuery字符串中的某些特定字符
[a-z]
[A-Z]
- 號
[0-9]
- 和字符
-
如果任何其他字符存在,應該從字符串刪除。
這可能嗎?什麼是最快的方法呢?
我讓用戶輸入一些標籤。這些標記應該只包含字符:如何僅允許jQuery字符串中的某些特定字符
[a-z]
[A-Z]
[0-9]
-
如果任何其他字符存在,應該從字符串刪除。
這可能嗎?什麼是最快的方法呢?
無需jQuery的:
str.replace(/[^a-z0-9\-]/ig,"");
會刪除任何東西,這不是一個字母,數字或破折號。
可以將keyup
事件處理程序分配到相關input
元件和過濾器使用此代碼的值:
$("input").keyup(function(){
var value = $(this).val().replace(/[^-a-zA-Z0-9]/g, "");
$(this).val(value)
})
$("input")
選擇所有input
元素。 調整此選擇器以符合您的願望。keyup
事件。$(this).val()
返回當前輸入元素的值。[^-a-zA-Z0-9]
匹配任何無效字符(/[^-a-z0-9]/i
具有相同的效果)/g
是全球標誌,這意味着:匹配正則表達式的每個匹配。.replace(/.../g, "")
通過一個空字符串替換所有的無效字符(=刪除所有無效字符)$(this).val(value)
改變當前輸入元件到一個有效的字符串值。...或使用'gi'和只是'a-z'。 (會更快嗎?) – slhck
一個簡單的正則表達式替換:
userInputString.replace(/[^a-z0-9\-]/ig, "")
你可以用JavaScript做到這一點,不需要jQuery。你已經嘗試了什麼?提示提示:String。['replace'](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace) – slhck
使用正則表達式來查找和刪除它們與常規的js。 – jtfairbank