如何在不输入查询中的特殊字符的情况下处理用户?

时间:2013-07-25 07:28:44

标签: jquery jquery-mobile

如何处理查询中的特殊字符。我的应用程序是崩溃用户添加:?.?);;;;。我需要处理这些字符。如果用户在文本字段中添加此字符,我想显示警告吗?

实际上问题是当用户在此字段:?.?);;;;中添加此测试时。我在导演中创建了文件夹。由于无法创建目录。它崩溃了。如何处理?

2 个答案:

答案 0 :(得分:2)

您可以将此代码与Regex一起使用:

 $('input').keyup(function() {

    if(/[^\w]/g.test($(this).val())) {

        $(this).val($(this).val().replace(/[^\w]/g, ""));

        alert('Don\'t enter special characters!');

    }

});

工作样本:http://jsfiddle.net/VwXRg/

答案 1 :(得分:1)

您必须以某种方式阻止文件名包含此类特殊字符。我建议您通过replace

删除这些字符

通过, / ? : @ & = + $ #

等替换语句替换text = text.replace('/[,\/?:@&=+$#]/g', '');等特殊字符

或者做相反的事情并且只指定允许哪些字符,这将是a-zA-Z0-9_的所有字母数字\wtext = text.replace('/[^\w]/g', '');。此代码看起来像\w。也许你想允许更多的字符,只需在{{1}}之后添加它们。