我让用户输入一些标签。这些标记应该只包含字符:如何仅允许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