联系方式的校验(自己的算法和正则表达)

1、问题:

因为最近使用DB2数据库,需要编写数据字段校验的规则,那么联系方式的规则一般分为手机和固话,根据现实中电话的格式类型,主要有(13xxxxxxxxx、15、17、18),固话分为XXXXXXXXX,0XX XXXXXXXX,0XX(X) XXXXXXXX,0XX(X)-XXXXXXXX 等,所以需要编写函数进行判断,正确返回1,其它根据情况返回对应的值。


正则表达式(ORACLE):

create or replace function f_chk_telno (v_telno varchar)
return varchar2
as
  icount1 integer;
  icount2 integer;
begin
  select count(*) into icount1 from  dual where regexp_like(v_telno,'^(13|15|17|18)[[:digit:]]{9}$')  ;--手机
  select count(*) into icount2 from  dual where regexp_like(v_telno,'(^0[[:digit:]]{2,3})|^(852|853)\-?[[:digit:]]{8}$');--固话
  if icount1 = 1 or icount2 = 1 then
    return '1';
  else
    return '2';
  end if;
end ;

自己的算法因忘记修改函数名称,导致覆盖了,下次补充。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,可以使用正则表达式来校验用户账号中是否包含特殊字符。下面是一个示例的正则表达式,可以用于检查用户账号中是否包含特殊字符: ``` String regex = "^[a-zA-Z0-9]+$"; ``` 这个正则表达式表示用户账号只能由字母和数字组成,不包含特殊字符。在Java中,可以使用`Pattern`和`Matcher`类来进行正则表达式的匹配。你可以使用`Pattern.matches(regex, accountNumber)`方法来校验用户账号是否符合特定的正则表达式。例如: ```java import java.util.regex.Pattern; public class AccountValidator { private static final String REGEX = "^[a-zA-Z0-9]+$"; public static boolean checkAccount(String accountNumber) { return Pattern.matches(REGEX, accountNumber); } public static void main(String[] args) { String account1 = "user123"; String account2 = "user@123"; boolean isValid1 = checkAccount(account1); boolean isValid2 = checkAccount(account2); System.out.println("Account 1 is valid: " + isValid1); System.out.println("Account 2 is valid: " + isValid2); } } ``` 输出结果为: ``` Account 1 is valid: true Account 2 is valid: false ``` 以上代码示例演示了如何使用Java的正则表达校验用户账号中是否包含特殊字符。通过定义正则表达式和使用`Pattern.matches()`方法,你可以方便地校验用户账号的合法性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [使用Java对账号和密码使用正则表达校验](https://blog.csdn.net/weixin_35860326/article/details/115081152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Java身份证号码合法性校验算法正则表达式。](https://download.csdn.net/download/sky123123/85125390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值