我有用户创建的字符串。我只允许字符A-Z, a-z, 0-9, -,
和_
如果字符串包含不在RegEx中的字符,则返回Javascript RegEx
使用JavaScript,如何测试以查看字符串是否包含不是这些字符?如果字符串包含不是这些的字符,我想警告用户它不被允许。
我可以使用什么Javascript方法和RegEx模式来匹配它?
我有用户创建的字符串。我只允许字符A-Z, a-z, 0-9, -,
和_
如果字符串包含不在RegEx中的字符,则返回Javascript RegEx
使用JavaScript,如何测试以查看字符串是否包含不是这些字符?如果字符串包含不是这些的字符,我想警告用户它不被允许。
我可以使用什么Javascript方法和RegEx模式来匹配它?
您需要使用否定字符类。
[^A-Za-z0-9\-_]
例:与match
function一起使用以下模式
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");
}
的想法是,如果输入中包含甚至一个禁止的性格,你警报。
只是为了澄清像我这样的人:'/ [^ \ w \ - ] /' - 这包含白名单,意思是允许的字符列表。添加一些东西到它后面,例如像这样:'/ [^ \ w \-äÖÖÖ] /'。 – Nenotlep
那就是模式,但是我可以使用什么Javascript方法?谢谢 –
或等同地,'[^ \ w \ - ]' –
@John:阅读文档。 https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions和http://www.regular-expressions.info/javascript.html –