表单验证常用正则(强烈推荐大家收藏下)
表单验证是确保用户输入数据符合特定格式和标准的必要手段,而正则表达式则是实现这一功能的重要工具。以下是收集的一些非常不错的表单验证正则表达式,涵盖了多种常见的数据类型格式。
1. 非负整数:\d+,匹配正整数和零。
2. 正整数:^[0-9][1-9][0-9]$,确保输入为不包含前导零的正整数。
3. 非正整数:^((-\d+)|(0+))$,包括负整数和零。
4. 负整数:^-[0-9][1-9][0-9]$,匹配负整数。
5. 整数:^-?\d+$,无论是正数还是负数。
6. 非负浮点数:\d+(\.\d+)?$,包括正浮点数和小数点后的零。
7. 正浮点数:确保输入为不包含前导零的正浮点数,表达式较为复杂,这里不再赘述。
8. 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$,包括负浮点数和小数点后的零。
9. 负浮点数:与正浮点数类似,只是符号相反。
还有一些常见的正则表达式用于匹配特定类型的字符串:
英文字母:[A-Za-z]+$,匹配由英文字母组成的字符串。
大写字母组合:[A-Z]+$。
小写字母组合:[a-z]+$。
数字与英文字母组合:[A-Za-z0-9]+$。
包含数字、英文字母或下划线的字符串:^\w+$。
电子邮件地址:^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)+$。注意这个表达式可以进一步精炼和优化。具体还需要根据实际需求和使用的场景进行适当的调整和优化。最后还有一个正则表达式匹配中文的字符集[\u4e00-\u9fa5]。需要注意的是在使用正则表达式进行表单验证时,还需要考虑到用户体验和安全性问题,比如避免过度复杂的验证规则导致用户体验下降或者安全问题等。希望这些正则表达式能够帮助到你!如果有任何疑问或需要进一步的解释,请随时提问。深入正则表达式:匹配与验证的细致艺术
在信息处理的海洋中,正则表达式如同一把锋利的剑,帮助我们精确地匹配和提取文本信息。让我们深入理解这些强大的工具,并它们如何匹配中文字符、双字节字符、空白行、HTML标记等等。
让我们从匹配中文字符开始。处理中文字符时,我们常常会面临一些挑战。幸运的是,有了这个表达式 [\u4e00-\u9fa5],我们可以轻松匹配任何中文字符。评注:匹配中文确实是个头疼的事,但这个表达式能为我们解决大部分问题。
接下来是双字节字符,包括汉字在内的所有字符,可以使用正则表达式 [^\x00-\xff] 进行匹配。这个表达式非常有用,它可以用来计算字符串的长度——一个双字节字符长度计2,ASCII字符计1。
对于匹配空白行,我们可以使用正则表达式 \s\r。这个表达式非常实用,可以帮助我们删除文本中的空白行。
在处理HTML标记时,一个有效的正则表达式可以帮助我们更轻松地提取所需的信息。<(\S?)[^>]>.?|<.?/> 是一个尝试匹配HTML标记的正则表达式,尽管它不能完美匹配复杂的嵌套标记,但它仍然是一个有价值的工具。
我们还有一系列正则表达式用于匹配各种形式的文本信息,如Email地址、URL、帐号格式、国内电话号码、腾讯QQ号、中国邮政编码、身份证信息以及IP地址等。这些表达式在表单验证等场景中非常实用。
正则表达式的几个基本概念也是我们必须了解的。首先是贪婪匹配,默认是尽可能多匹配,也叫最大匹配。非贪婪匹配则尽可能少匹配,这在处理大数据或嵌套匹配时特别有用。
获取匹配和消耗匹配也是重要的概念。获取匹配用于获取所匹配的数据,而非获取匹配则不获取数据,这提高了效率。预查是另一个重要概念,分为正向预查和负向预查,它们分别在匹配字符串的开始和不符合 pattern 的字符串开始处进行匹配。
回调在替换上非常有用,它可以根据不同的匹配内容返回不同的替换值,从而简化程序。引用则是对所获取的第num个匹配的引用,例如,'(.)\1\1' 可以匹配AAA型的字符串。
正则表达式是一个强大的工具,它能帮助我们更轻松地处理文本信息。通过深入理解和熟练应用这些概念和技术,我们可以更有效地提取、验证和处理文本数据。正则表达式的奥秘与精髓
当我们正则表达式的保留字时,其实是在一种强大的文本处理工具的核心机制。下面,让我们逐一了解这些保留字及其用途。
^ (carat)表示匹配行的开头。在正则表达式中,它用于指定搜索模式的起始位置。
. (period)匹配除换行符之外的任何字符。它是正则表达式中最常用的元字符之一。
[ (left bracket) 和 ] (right bracket) 一起使用,可以定义一个字符集,匹配任意包含在方括号内的字符。[ ] 还有求反的功能,可以匹配除了指定字符集之外的任意字符。
$ (dollar sign) 表示匹配行的结尾。在正则表达式中,它用于指定搜索模式的结束位置。
( (left parenthesis) 和 ) (right parenthesis) 用于定义捕获组,可以提取匹配的部分以供后续使用。
| (pipe) 表示或,用于匹配多个模式中的任意一个。
(asterisk) 表示匹配前面的子表达式零次或多次。它是一个数量词,用于指定匹配的次数。
+ (plus symbol) 表示匹配前面的子表达式一次或多次。它也是数量词的一种。
? (question mark) 可以使前面的子表达式匹配一次或者不出现,或者用于指定非贪婪模式,即尽可能少的匹配字符。
{ (left curly bracket, or left brace) 和与之配套使用的 } 用于定义数量范围,可以指定匹配特定数量的字符或子表达式。\(backslash)是一个转义字符,用于引入特殊字符序列的特定含义。例如,“\d”表示数字,“\s”表示空格符等。这些被称为预定义的字符类,极大地简化了正则表达式的编写过程。
构造与匹配方面,正则表达式的强大之处在于其灵活的模式构造和广泛的匹配场景。无论是字符类还是预定义的字符类,都为复杂的文本处理提供了有力的工具。通过正则表达式,我们可以轻松地提取、验证和处理文本数据。这些保留字和构造方式共同构成了正则表达式的基石,使其成为一种不可或缺的工具。无论是简单的文本处理任务还是复杂的模式识别,正则表达式都能为我们提供极大的便利和效率。当我们掌握了这些保留字和构造方法后,我们就可以在正则表达式的海洋中自由航行,更多未知的奥秘了。
微信营销
- 表单验证常用正则(强烈推荐大家收藏下)
- 深入浅析JavaScript中数据共享和数据传递
- vue中tab选项卡的实现思路
- php+flash+jQuery多图片上传源码分享
- php设计模式之简单工厂模式详解
- node使用UEditor富文本编辑器的方法实例
- ThinkPHP中自定义错误页面和提示页面实例
- 12个常用的js正则表达式
- php中使用gd库实现远程图片下载实例
- asp 网页视频播放器程序代码(通用代码),支持avi
- 图解prototype、proto和constructor的三角关系
- vue+vue-validator 表单验证功能的实现代码
- 深入学习.net验证码生成及使用方法
- 实例讲解jQuery中对事件的命名空间的运用
- jQuery+PHP+MySQL实现无限级联下拉框效果
- 浅谈React深度编程之受控组件与非受控组件