js-对input 输入框进行 前后端的 非法/特殊字符 进行验证

时间:2022-12-19 16:59:40

如果觉得写得可以 或者太差 就 评论一下或者赞一下呗,多谢支持!!


1.首先进行前台验证

        var obj1 = document.getElementById("accountInfo.name");
	var obj2 = document.getElementById("accountInfo.identity");
	var obj3 = document.getElementById("phone");
	var obj4 = document.getElementById("code");
	var obj = obj1+obj2+obj3+obj4;
	if(obj!=null){
		var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥\\\\……&*()——|{}【】‘;:”“'。,、?]")  
		for (var i = 0; i < obj.length; i++) { 
			if(pattern.test(obj.substr(i, 1))){
				return false;
			}
		} 
	}

2.然后进行后台验证

               String str = "`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥\\……&*()——|{}【】‘;:”“'。,、?";
               //后面的四个是为了\\所以再加上两个\\
		String regEx = "[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥\\\\……&*()——|{}【】‘;:”“'。,、?]";
		// 编译正则表达式
		Pattern pattern = Pattern.compile(regEx);
		// 忽略大小写的写法
		// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
                System.out.println(str);
		for(int i=0;i<str.length();i++){
			Matcher matcher = pattern.matcher(str.substring(i,i+1));
			if(matcher.matches()){
				System.out.println("第"+i+"个字符相匹配:"+str.substring(i,i+1));
			}
		}

3.java对于判断用户输入的是否是数字,我们可以用异常

 public void isNumber(String str){
   try{
     Integer.parseInt(str)
   }catch{
	return false;
   }
    return true;
 }