如果字符串包含不在RegEx中的字符,则返回Javascript RegEx

Luk*_*een 6 javascript regex pattern-matching

我有一个用户创建的字符串.我只允许角色A-Z, a-z, 0-9, -,_

使用JavaScript,我如何测试以查看字符串是否包含不是这些字符的字符?如果字符串包含不是这些字符的字符,我想提醒用户不允许这样做.

我可以使用哪些Javascript方法和RegEx模式来匹配它?

Don*_*nut 12

您需要使用否定的字符类.使用以下模式以及match功能:

[^A-Za-z0-9\-_]
Run Code Online (Sandbox Code Playgroud)

例:

var notValid = 'This text should not be valid?';

if (notValid.match(/[^A-Za-z0-9\-_]/))
   alert('The text you entered is not valid.');
Run Code Online (Sandbox Code Playgroud)


Ray*_*oal 6

这个很简单:

if (/[^\w\-]/.test(string)) {
    alert("Unwanted character in input");
}
Run Code Online (Sandbox Code Playgroud)

这个想法是,如果输入甚至包含一个不允许的字符,您就会发出警报。