Javascript 输入值包含任意位置的特定字符
我有一个指令来验证输入字段,以确保它不包含Javascript 输入值包含任意位置的特定字符,javascript,angularjs,regex,Javascript,Angularjs,Regex,我有一个指令来验证输入字段,以确保它不包含&, .directive('refValidate',[function(){ var regExp=/^[&\]*$/; 返回{ 要求:'ngModel', 链接:函数(作用域、元素、属性、ctrl){ 函数myValidation(值){ 如果(!regExp.test(值)){ ctrl.$setValidity('validRef',true); }否则{ ctrl.$setValidity('validRef',false); } 返回值;
&
,
.directive('refValidate',[function(){
var regExp=/^[&\]*$/;
返回{
要求:'ngModel',
链接:函数(作用域、元素、属性、ctrl){
函数myValidation(值){
如果(!regExp.test(值)){
ctrl.$setValidity('validRef',true);
}否则{
ctrl.$setValidity('validRef',false);
}
返回值;
}
ctrl.$parsers.push(myValidation);
}
};
}]);
仅当值以指定字符开头时,它才会发回false,此时需要检查值中是否包含这些字符
问题
如何修改我的reg exp以检查输入值中任何位置的指定字符?您希望匹配字符串中任何位置出现的
或&
,但您的正则表达式只匹配包含0或更多
、&
或空格的字符串。见及其附件:
你需要使用
var regExp = /[&<>]/;
var regExp=/[&]/;
此外,字符集中的字符没有任何特殊性,无需转义。
/^[&\]*$/
=>/[&]/
很简单:添加它作为答案,我接受它
var regExp = /[&<>]/;