9

我有以下要求,只允许大写字母和 javascript 形式。我不确定如何检查特殊字符和脚本标签。我编写了以下代码。我不想允许诸如 $,%,& 等字符。

var upperCase= new RegExp('[A-Z]');
var lowerCase= new RegExp('^[a-z]');
var numbers = new RegExp('^[0-9]');

if($(this).val().match(upperCase) && $(this).val().match(lowerCase) &&   $(this).val().match(numbers))  
{
    $("#passwordErrorMsg").html("OK")

}
4

3 回答 3

19

根据您提供给我们的信息,这可能符合您的要求。它将确定是否有任何字符不在字符类 az、AZ 或 0-9 中,但请注意,这也会将é或类似字符视为被拒绝的符号。

因此,如果值为“test_”或“test a”,它将失败,但“testa”将通过。如果您希望它接受空格,请将正则表达式更改为/[^a-zA-Z0-9 ]/.

if(!/[^a-zA-Z0-9]/.test($(this).val())) {
    $("#passwordErrorMsg").html("OK");
}
于 2013-11-12T15:23:22.753 回答
3

这可能会有所帮助。 javascript regexp 如果您想要的唯一字符是数字、字母和“,”,则删除所有特殊字符,那么您只需要对所有不是这些字符的字符进行白色调

$(this).val().replace(/[^\w\s\][^,]/gi, '')

于 2013-11-12T15:23:57.933 回答
1

此链接可能会有所帮助:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

它有很多关于 JS Regexps 的信息。

对于美元符号 ($),正则表达式语法为:\$. 您需要转义特殊字符,以便将其作为文字读取。我相信其他特殊字符的语法是相同的。

于 2013-11-12T15:07:46.680 回答