Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果字符串包含不在正则表达式中的字符,则返回Javascript正则表达式_Javascript_Regex_Pattern Matching - Fatal编程技术网

如果字符串包含不在正则表达式中的字符,则返回Javascript正则表达式

如果字符串包含不在正则表达式中的字符,则返回Javascript正则表达式,javascript,regex,pattern-matching,Javascript,Regex,Pattern Matching,我有一个用户创建的字符串。我只允许字符A-Z,A-Z,0-9,-,和\uu 使用JavaScript,如何测试字符串是否包含非这些字符?如果字符串包含的字符不是这些字符,我想提醒用户这是不允许的 我可以使用哪些Javascript方法和正则表达式模式来匹配此值?您需要使用一个否定字符类。将以下模式与以下选项一起使用: 例如: var notValid = 'This text should not be valid?'; if (notValid.match(/[^A-Za-z0-9\-_]/

我有一个用户创建的字符串。我只允许字符
A-Z,A-Z,0-9,-,
\uu

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


我可以使用哪些Javascript方法和正则表达式模式来匹配此值?

您需要使用一个否定字符类。将以下模式与以下选项一起使用:

例如:

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

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

这一点很简单:

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

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

这就是模式,但是我可以使用什么Javascript方法呢?感谢you@John:阅读文档。为了向像我这样的人澄清:
/[^\w\-]/
-这包含了白名单,也就是允许的字符列表。要添加内容,请在破折号后追加,例如:
/[^\w \äöÄÖ]/
if (/[^\w\-]/.test(string)) {
    alert("Unwanted character in input");
}