正则表达式

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
正则区分大小写,\d与\D是不同的。

例:
验证手机号  (以1开头的11位数字)   
 ^1\d{10}$ 

解析:^1 以1开头,\d表示数字,\d{10}表示数字出现10次,加上前面以1开头,正好是11个数字,X$表示以X结尾,这里用$表示后面没有了,11个数字后已经是匹配字符串的结尾。

[^1]\d{10}$  (不允许是以1开头的11位数字)

 

^代表开头,$是结尾符;
[^ abc] 是反义字符集合,不允许字符中含有a、b、c等字符;

[abc] 字符集合,字符中必须含有a或b或c;

 \d  匹配一个数字字符,等价于 [0-9];

\D  匹配一个非数字字符,等价于 [^0-9];


正负整数和正负两位小数都允许输入  ^(([+-])?([0-9]+(\.[0-9]{1,2})?))$
正整数和正两位小数   ^(([+])?([0-9]+(\.[0-9]{1,2})?))$

验证真实姓名 (只能输入2到4个字的纯中文)    ^[\u4e00-\u9fa5]{2,4}$

验证手机号  (11位数字,以1开头)   ^1[0-9]{10}$  或  /^1\d{10}$/    ( \d  匹配一个数字字符,等价于 [0-9]。)

正数的正则表达式(包括0,小数保留两位):^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*)|0)$)

正数的正则表达式(不包括0,小数保留两位):^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$

正整数的正则表达式(包括0):^[+]{0,1}(\d+)$

正整数的正则表达式(不包括0):^[1-9]\d*$

折扣(0-1)的小数的正则表达式(包括1):^(0\.\d+|1)$

折扣(0-1)的小数的正则表达式(不包括1):^(0\.\d+)$

4位数的数字:^\d{4}$|^0$

 

前台 javaScript语法:

if( !/ 正则 /. test(需要验证的内容) )
{
    //错误,请输入指定格式
}

例:

var reg = /^(([+])?([0-9]+(\.[0-9]{1,2})?))$/;
if (!reg.test(money)) {
  alert_h("请输入正整数或正两位数小数");
  return false;
}

 

C# :

public bool IsTelephone(string str)
{
     return System.Text.RegularExpressions.Regex.IsMatch(str, @"^1[0-9]{10}$");     //  符合就返回true,否则返回false。
}

 

正则元字符: https://www.runoob.com/regexp/regexp-metachar.html

在线测试正则表达式: 在线正则表达式测试 (oschina.net)

 

if (!/^1\d{10}$/.test(cellPhone)) {
alert("请输入正确的手机号");
return false;
}

 

posted @ 2021-07-10 11:22  哈哈咖咖  阅读(122)  评论(0编辑  收藏  举报