如果字符串包含不在正则表达式中的字符,则返回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");
}