正则表达式不允许特殊字符(Javascript)

Regex to not allow special characters (Javascript)

本文关键字:Javascript 特殊字符 不允许 正则表达式      更新时间:2023-09-26

我有一个以下要求,只允许大写字母和 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")
}

根据您提供给我们的内容,这可能适合该法案。它将确定是否有任何字符不在字符类别 a-z、A-Z 或 0-9 中,但请注意,这也会将é或类似字符视为拒绝的符号。

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

if(!/[^a-zA-Z0-9]/.test($(this).val())) {
    $("#passwordErrorMsg").html("OK");
}

这可能会有所帮助。JavaScript正则表达式删除所有特殊字符 如果您唯一想要的字符是数字,字母和",",那么您只需要为所有不是这些字符的字符添加白色香料

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

此链接可能会有所帮助:

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

它有很多关于JS正则表达式的信息。

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