我有一个字符串。我要允许使用大写字母,小写字母,数字和以下特殊字符:!$/%@#
。
我希望这会通过:abcABC123!
我希望这会失败:abcABC123*
我尝试了以下代码:
var myString = 'abcABC123*'
// var myString = 'abcABC123!'
if (myString.match(/^[a-zA-Z0-9]!\$\/%@#/)) {
alert('this works!');
} else {
alert('Invalid Character');
}
就像现在坐在代码中一样,我总是点击else语句。谨慎一点,我不是RegEx专家,也不是任何与此有关的专家。
注意:我将感谢纯JavaScript解决方案。
最佳答案
将这些字符添加到字符集中,并使用$
声明字符串末尾的位置:
^[A-Za-z0-9!$/%@#]+$
检查正则表达式here。
片段:
var myString = 'abcABC123!'
if (myString.match(/^[A-Za-z0-9!$/%@#]+$/)) {
console.log('this works!');
} else {
console.log('Invalid Character');
}
检查实时JavaScript小提琴here。