正则表达式知识点(各语言C#,Javascript,Sql)

正则表达式中/i,/g,/ig,/gi,/m的区别和含义

/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)

##正则表达式加^$与不加的区别
^$的话就代表把整个要匹配的字符串当成一个整体做一次匹配,而不加则一个字符串可以匹配多次,只能代表这个字符串中有符合条件的并不代表改字符串符合条件。

JS判断字符串是否包含特殊字符和空格tab

me.checkSpecialChar = function(e){
	var re = /[~#^$@%&!*]/gi;
	if (re.test(e.newValue)) {
		mx.indicate("info","名称中含有特殊字符!");
		return;
	}
}


me.checkSpecialChar = function(e){
	var re = /[~#^$@%&!*()<>:;'"{}【】 	]/gi;
	if (re.test(e.newValue)) {
		mx.indicate("info","名称中含有特殊字符!");
		return;
	}
}

车牌号校验正则表达式

一、车牌号校验规则

  1. 常规车牌号:仅允许以汉字开头,后面可录入六个字符,由大写英文字母和阿拉伯数字组成。如:粤B12345
  2. 最后一个为汉字的车牌:允许以汉字开头,后面可录入六个字符,前五位字符,由大写英文字母和阿拉伯数字组成,而最后一个字符为汉字,汉字包括“挂”、“学”、“警”、“港”、“澳”。如:粤Z1234港
  3. 新军车牌:以两位为大写英文字母开头,后面以5位阿拉伯数字组成。如:BA12345

二、正则表达式

^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$

三、使用示例

1. Oracle PL/SQL

  create or replace  function is_vehicle_number(p_vehicle_number in varchar2) return number
  is
    v_result number;
    v_express varchar2(600);
  begin
    -- 默认0,表示不正确
    v_result := 0;
    
    if length(p_vehicle_number) = 7 then
      v_express := '^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$';
    
      if regexp_like(p_vehicle_number, v_express) then      
        v_result := 1;
      end if;
    end if;
    
    return v_result;
  end;

2. Javascript

  function isVehicleNumber(vehicleNumber) {
      var result = false;
      if (vehicleNumber.length == 7){
        var express = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
        result = express.test(vehicleNumber);
      }
      return result;
  }

3.C#

public static bool IsVehicleNumber(string vehicleNumber)
{
    bool result = false;
    if (vehicleNumber.Length == 7){
      string express = @"^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$";
      result = Regex.IsMatch(vehicleNumber, express);
    }
    return result;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值