`
thinktothings
  • 浏览: 777479 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

电话号码验证

 
阅读更多

 

 

电话号码验证


 

package com.dbs.m800.dao.offer;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {
	
	


	/**
	 * @param args
	 */
	public static void main(String[] args) {
	   
		Test test=new Test();
		String str="80000-86169";
		String s=test.prefixValidMethod(str);
		
	
		System.out.println(s);
		

	}
	
	
	
	/**
	 * Prefixs验证
	 * 各 prefix段验证,只能为 86135或   86158-86159这样的格式,各prefix段之间用分号分开
	 * 所有prefix之间,不能有从属关系  
	 * @return
	 */
	public String prefixValidMethod(String str){
		
	

		
		String[] prefixs=str.replaceAll(",", ";").split(";");
		
        if(prefixs==null || prefixs.length==0){
            return "OK";
      }
		
		
		List<String> list=new ArrayList<String>();
		for (String prefix:prefixs) {
			
			if(prefix.contains("-")){
				int i=prefix.indexOf("-");
				int j=prefix.lastIndexOf("-");
				if(i!=j){
					return ValidInfoClass.manyMinus+":"+prefix;
				}
				
				
				if(i==0||(i+1==prefix.length())|| (i!=prefix.length()-i-1)){
					return ValidInfoClass.commonLength+":"+prefix;
				}
				
				int first=Integer.parseInt(prefix.substring(0, i));
				int last=Integer.parseInt(prefix.substring(i+1));
				
				if(first>=last){
					return prefix.substring(0, i)+ValidInfoClass.lessThan+":"+prefix.substring(i+1);
				}
				
				if(last-first>10){
					return ValidInfoClass.rangePrefix+":"+prefix;
				}
				
				for(int m=first;m<=last;m++){
					list.add(m+"");
				}
				
				
			}else{
				list.add(prefix);
			}
			
			
		}
		
		
		
		
		//得到新的数组
		
		Object[] obj=list.toArray();
		
		Arrays.sort(obj);
		
		   for(int i=0;i<obj.length-1;i++){
			    if(obj[i+1].equals(obj[i])){
			    	
			    }
			   
	            if(obj[i+1].toString().contains(obj[i].toString())){
	            	return ValidInfoClass.subordinate+":"+obj[i].toString()+"    "+obj[i+1].toString();
	            }


	        }
		
		return "OK";
		
		
	}
	
	

	static class ValidInfoClass{
		//包含多个-
		static String manyMinus="包含多个-";
		
		//左右位数要相等
		static String commonLength="左右位数要相等";
		
		//应该小于
		static String lessThan="应该小于";
		
		//从属关系
		static String subordinate="从属关系";
		
		//有重复的prefix
		static String repeatPrefix="重复的Prefix";
		
		//范围只能是在10以内
		
		static String rangePrefix="范围在10以内";
	}

}
 
分享到:
评论

相关推荐

    javascript 实现电话号码验证

    javascript 实现电话号码验证,用户输入数据,可以验证数据是否是合法的电话号码。

    js电话号码验证方法

    在web开发过程中,表单验证是一个非常重要的环节,其中电话号码验证尤其常见。本知识点将围绕JavaScript(JS)表单验证电话号码的方法进行详细讲解。 首先,我们需要明确国内固定电话号码的组成规则。通常情况下,...

    电话号码和手机号码+86的正则验证

    综上所述,正则表达式在电话号码验证中扮演着至关重要的角色。了解并熟练掌握正则表达式,可以极大地提升你在处理文本数据时的效率和精确度。在编程中,无论是前端的表单验证,还是后端的数据处理,正则表达式都是一...

    电话号验证

    下面将深入解析正则表达式的构成及其在电话号码验证中的应用,帮助理解如何设计一个既能覆盖多种电话号码格式,又能确保准确性和效率的正则表达式。 ### 正则表达式基础 正则表达式(Regular Expression),通常...

    2020年最新的手机号码和固话号码验证的正则表达式

    以上介绍的是2020年最新的手机号码和固定电话号码验证的正则表达式。通过使用这些正则表达式,可以在Web开发中实现对用户输入的有效性校验,提高用户体验并减少潜在的数据错误。在实际应用过程中,还需要根据具体的...

    joi-phone-number:Joi的电话号码验证规则

    电话号码Joi的电话号码验证规则什么允许您执行Joi.string().phoneNumber() 。 使用进行验证。 这是Google库的编译版本。如何const myCustomJoi = Joi . extend ( require ( 'joi-phone-number' ) ) ;myCustomJoi . ...

    jQuery电话号码验证实例

    本文实例为大家分享了jQuery电话号码验证的具体代码,供大家参考,具体内容如下 电话号码验证: //移动号码归属地支持号段:134 135 136 137 138 139 147 150 151 152 157 158 159 178 182 183 184 187 188 //联通...

    JS电话、手机号码验证代码

    **电话号码验证方法** - `isTel` 方法 - **定义**:用于验证输入的字符串是否为有效的固定电话号码。 - **实现原理**:使用正则表达式来匹配电话号码的格式。支持多种格式,如带区号或不带区号的形式。 - **示例...

    js验证讲解加例子 登录 电话号码 邮箱等验证

    电话号码验证通常需要根据国家或地区的电话号码格式进行。例如,对于中国的电话号码,我们可以使用正则表达式进行验证: ```javascript function validatePhoneNumber(phone) { const pattern = /^1[3-9]\d{9}$/; ...

    电话号码验证:此文件具有使用Mocha Chai的电话号码验证

    电话号码验证是编程中常见的一种任务,特别是在处理用户输入或者数据清洗时。在这个场景中,我们关注的是使用JavaScript和Mocha Chai库进行电话号码验证的过程。Mocha是一款流行的JavaScript测试框架,而Chai则是一...

    电话号或者手机号验证

    电话号码验证通常涉及到对输入的电话号码格式进行检查,以确认其是否符合常见的电话号码模式。在提供的代码片段中,`checkPhone(phone)`函数便是用于验证电话号码的有效性。此函数首先检查电话号码是否为空,若为空...

    在JavaScript里面电话号码邮件地址省份证验证的简便方法

    ### 电话号码验证 中国的电话号码通常由11位数字组成,例如13800138000。我们可以通过以下正则表达式进行验证: ```javascript const phoneRegex = /^1[3-9]\d{9}$/; ``` 这个正则表达式的含义是:以1开头,第二位...

    numvalidate:电话号码验证REST API

    即使您对电话号码验证不感兴趣,我还是建议您在这里四处看看,因为您可以轻松地自定义NumValidate来公开喜欢的任何一种API :电话验证API包含,而其余代码支持身份验证,授权,计划订阅,计划付款和API令牌管理。...

    c#使用正则表达式验证电话号码

    本示例主要讲解如何使用C#的正则表达式来验证电话号码的格式,确保输入的数据符合预设的规则。电话号码的格式可能因国家和地区而异,但通常包含数字和特定的分隔符。 首先,我们需要了解电话号码的一般模式。在中国...

Global site tag (gtag.js) - Google Analytics