我知道我的代码是错误的,我正在尝试测试某些字符,只要输入字段中的每个字符都存在它们,它就会通过 true,否则通过 false。
function isChar(value) {
//Trying to create a regex that allows only Letters, Numbers, and the following special characters @ . - ( ) # _
if (!value.toString().match(/@.-()#_$/)) {
return false;
} return true;
}
最佳答案
假设您实际上正在传递一个字符(您没有显示如何调用它),这应该可以工作:
function isChar(value) {
if (!value.toString().match(/[a-z0-9@.\-()#_\$]/i)) {
return false;
} else
return true;
}
console.log(isChar('%')); // false
console.log(isChar('$')); // true
console.log(isChar('a')); // true
如果您传递一个字符串,并且想知道字符串中的所有字符是否都在这个“特殊”列表中,您将需要这样:
function isChar(value) {
if (! value.match(/^[a-z0-9@.\-()#_\$]*$/i)) {
return false;
} else
return true;
}
console.log(isChar("%$_")); // false
console.log(isChar("a$_")); // true
关于javascript - 在 JavaScript 中为特殊字符编写正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134929/