Mic*_*elH 0 javascript regex validation character
我试图找到一个方法来验证字符串,只使用允许的字符列表.
var valid = validate('This is my string!', 'abcdefghijklmnopqrstuvwxyz');
function validate(value, allowed_chars){
var reg = new RegExp('[' + allowed_chars + ']');
var valid = reg.test(value);
return valid;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我希望函数返回false,因为它在字符串中有一个感叹号,并且没有放入允许的字符中.有任何想法吗?
非常感谢帮助,谢谢!
我不想使用循环来检查每个字符.
你的正则表达式只匹配单个字符.添加量词.
var reg = new RegExp('[' + allowed_chars + ']+');
Run Code Online (Sandbox Code Playgroud)
'+'表示'一次或多次出现'
您还想测试此模式是否与整个字符串匹配.为行的开头和结尾添加标记.
var reg = new RegExp('^[' + allowed_chars + ']+$');
Run Code Online (Sandbox Code Playgroud)
您可能还想为正则表达式添加大写字母和空格.使用在线正则表达式测试程序调试正则表达式.