千家信息网

Javascript和C#中的正则表达式规则

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本篇内容介绍了"Javascript和C#中的正则表达式规则"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有
千家信息网最后更新 2025年01月22日Javascript和C#中的正则表达式规则

本篇内容介绍了"Javascript和C#中的正则表达式规则"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、正则表达式概念:

在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。

二、正则表达式的使用:

正则表达式在ASP.NET中主要是用来对输入的内容进行验证,验证一般分为两种一种是客户端JS验证,另一种是服务器端验证

1、JS对输入内容验证

复制代码 代码如下:


function check() {
var match = /^\d$/;
var val = $("#txt").val();
if (match.test(val)) {
alert("测试通过");
}
else {
alert("测试不通过");
}
}

2、C#进行验证格式

复制代码 代码如下:


protected void Button1_Click(object sender, EventArgs e)
{
string pattern = @"\d";
if (System.Text.RegularExpressions.Regex.IsMatch(this.TextBox1.Text, pattern))
{
ClientScript.RegisterClientScriptBlock(GetType(), "", "alert('验证成功!')", true);
}
else
{
ClientScript.RegisterClientScriptBlock(GetType(), "", "alert('验证不成功!')", true);
}
}

三、正则表达式规则
\ :将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符;例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而"\(" 则匹配 "("。

^:匹配输入字符串的开始位置。

$:匹配输入字符串的结束位置。

*:匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。

+:匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配"z"。+ 等价于 {1,}。

?:匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。

{n}:n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。

{n,}:n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。

{n,m}:m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。刘, "o{1,3}"将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于'o?'。请注意在逗号和两个数之间不能有空格。

?:当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而'o+' 将匹配所有 'o'。

x|y:匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood"或 "food"。这一条比较重要

[xyz]:字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的'a'。

[^xyz]:负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。

[a-z]:字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。

[^a-z]:负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。

\b:匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never"中的 'er',但不能匹配 "verb" 中的 'er'。

\B:匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的'er'。

\cx:匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。 x 的值必须为A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。

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

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

\f:匹配一个换页符。等价于 \x0c 和 \cL。

\n:匹配一个换行符。等价于 \x0a 和 \cJ。

\r:匹配一个回车符。等价于 \x0d 和 \cM。
\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S:匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t:匹配一个制表符。等价于 \x09 和 \cI。
\v:匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w:匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
\W:匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。
\xn:匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如, '\x41' 匹配 "A"。'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用ASCII 编码。.

\num:匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。

\n:标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。
\nm:标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by atleast nm 个获取得子表达式,则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。
\nml:如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。
\un:匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。

网上搜到的一些验证

邮箱:^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$

电话或手机:^189\d{8}$)|(^13\d{9}$)|(^15\d{9}$)|(^\d{8}$)|(^0574-\d{8}$

"^\d+$"  //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整数

"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$"  //负整数

"^-?\d+$"    //整数

"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)

"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数

"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数

"^(-?\d+)(\.\d+)?$"  //浮点数

"^[A-Za-z]+$"  //由26个英文字母组成的字符串

"^[A-Z]+$"  //由26个英文字母的大写组成的字符串

"^[a-z]+$"  //由26个英文字母的小写组成的字符串

"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串

"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串

"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址

"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url

/^13\d{9}$/gi手机号正则表达式
正则表达式--验证手机号码:13[0-9]{9}
实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$
电话号码与手机号码同时验证:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})
提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)
提取信息中的中国手机号码:(86)*0*13\d{9}
提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}
提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}
提取信息中的中国邮政编码:[1-9]{1}(\d+){5}
提取信息中的中国身份证号码:\d{18}|\d{15}
提取信息中的整数:\d+
提取信息中的浮点数(即小数):(-?\d*)\.?\d+
提取信息中的任何数字 :(-?\d*)(\.\d+)?
提取信息中的中文字符串:[\u4e00-\u9fa5]*
提取信息中的双字节字符串 (汉字):[^\x00-\xff]*

"Javascript和C#中的正则表达式规则"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

字符 等价 表达式 字符串 信息 整数 正则 数字 验证 八进制 点数 转义 号码 字母 手机 范围 内容 单词 电话 中国 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全治理相关问卷 前端和网络技术的关系 pubg多久能换服务器 银行网络安全的理解和看法 数据库中选择链接包含几个表 快手软件开发工资 什么是网络安全动画 网络技术保障职责 重大网络安全事件标准 数据库可以安装在村子上吗 数据库关键字检索 深圳大道网络技术有限公司 ssh怎么看远程服务器的空间 酷家乐软件开发地 网络安全和信息安全 考试 方舟生存进化开服务器详细流程 徐汇区节能软件开发零售价格 服务器怎么看磁盘容量 中控技术网络安全 代码直接写入odoo数据库 数据库中的自动增长的初始值是啥 运行数据库系统找不到指定文件 深挖网络安全行业前景 广电网络技术能手考试 郴州软件开发专业技校 网络安全倡议书手抄报 理化数据库 方舟生存进化开服务器详细流程 应届毕业做软件开发要会什么 苏州一站式网络技术服务电话
0