正则表达式大于50万的判断js与php写法
- 格式:docx
- 大小:12.47 KB
- 文档页数:2
常用正则表达式(PHP+JS)我们在开发中经常会用到正则匹配来做一些简单的验证工作,正则表达式这东西一个人一个写法,临着要用再去自己想和写实在浪费时间,所以在这里罗列一些常用的正则表达式,在使用到的时候直接使用就好。
话不多说上干货。
1.匹配邮箱PHP版:$str = '';$isMatch = preg_match('/\w[‐\w.+]*@([A‐Za‐z0‐9][‐A‐Za‐z0‐9]+\.)+[A‐Za‐z] {2,14}/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /\w[‐\w.+]*@([A‐Za‐z0‐9][‐A‐Za‐z0‐9]+\.)+[A‐Za‐z]{2,14}/,str = '';console.log(pattern.test(str));2.匹配手机号PHP版:$str = '';$isMatch =preg_match('/(13\d|14[57]|15[^4,\D]|17[678]|18\d)\d{8}|170[059]\d{7}/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /(13\d|14[57]|15[^4,\D]|17[678]|18\d)\d{8}|170[059]\d{7}/, str = '';console.log(pattern.test(str));3.匹配中文PHP版:$str = '';$isMatch = preg_match('/[\u4e00‐\u9fa5]/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /[\u4e00‐\u9fa5]/,str = '';console.log(pattern.test(str));4.匹配时间(格式为:时:分:秒)PHP版本:$str = '';$isMatch = preg_match('/([01]?\d|2[0‐3]):[0‐5]?\d:[0‐5]?\d/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /([01]?\d|2[0‐3]):[0‐5]?\d:[0‐5]?\d/,str = '';console.log(pattern.test(str));5.匹配IPV4地址PHP版:$str = '';$isMatch = preg_match('/(\d+)\.(\d+)\.(\d+)\.(\d+)/', $str, $match); var_dump($isMatch, $match);JS版:var pattern = /(\d+)\.(\d+)\.(\d+)\.(\d+)/,str = '';console.log(pattern.test(str));6.匹配身份证PHP版:$str = '';$isMatch = preg_match('/\d{15}|\d{17}[0‐9Xx]/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /\d{15}|\d{17}[0‐9Xx]/,str = '';console.log(pattern.test(str));7.匹配日期(格式:年‐月‐日)PHP版:$str = '';$isMatch = preg_match('/((((1[6‐9]|[2‐9]\d)\d{2})‐(1[02]|0?[13578])‐([12]\d|3[01]|0?[1‐9]))|(((1[6‐9]|[2‐9]\d)\d{2})‐(1[012]|0?[13456789])‐([12]\d|30|0?[1‐9]))|(((1[6‐9]|[2‐9]\d)\d{2})‐0?2‐(1\d|2[0‐8]|0?[1‐9]))|(((1[6‐9]|[2‐9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))‐0?2‐29‐))/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /((((1[6‐9]|[2‐9]\d)\d{2})‐(1[02]|0?[13578])‐([12]\d|3[01]|0? [1‐9]))|(((1[6‐9]|[2‐9]\d)\d{2})‐(1[012]|0?[13456789])‐([12]\d|30|0?[1‐9]))| (((1[6‐9]|[2‐9]\d)\d{2})‐0?2‐(1\d|2[0‐8]|0?[1‐9]))|(((1[6‐9]|[2‐9]\d)(0[48]| [2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))‐0?2‐29‐))/,str = '';console.log(pattern.test(str));8.匹配日期(格式:年/月/日)PHP版:$str = '';$isMatch = preg_match('/((((1[6‐9]|[2‐9]\d)\d{2})\/(1[02]|0?[13578])\/([12]\d|3[01]|0?[1‐9]))|(((1[6‐9]|[2‐9]\d)\d{2})\/(1[012]|0?[13456789])\/([12]\d|30|0?[1‐9]))|(((1[6‐9]|[2‐9]\d)\d{2})‐0?2‐(1\d|2[0‐8]|0?[1‐9]))|(((1[6‐9]|[2‐9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))‐0?2‐29‐))/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /((((1[6‐9]|[2‐9]\d)\d{2})\/(1[02]|0?[13578])\/([12]\d|3[01]|0? [1‐9]))|(((1[6‐9]|[2‐9]\d)\d{2})\/(1[012]|0?[13456789])\/([12]\d|30|0?[1‐9]))|(((1[6‐9]|[2‐9]\d)\d{2})‐0?2‐(1\d|2[0‐8]|0?[1‐9]))|(((1[6‐9]|[2‐9]\d) (0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))‐0?2‐29‐))/, str = '';console.log(pattern.test(str));9.匹配正整数PHP版:$str = '';$isMatch = preg_match('/[1‐9]\d*/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /[1‐9]\d*/,str = '';console.log(pattern.test(str));10.匹配负整数PHP版:$str = '';$isMatch = preg_match('/‐[1‐9]\d*/', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /‐[1‐9]\d*/,str = '';console.log(pattern.test(str));11.电驴链接(似乎看到了老司机的微笑)PHP版:$str = '';$isMatch= preg_match('/ed2k:\/\/\|file\|([^\|]+?)\|(\d+?)\|([0‐9a‐zA‐Z] {32})\|((?:\/\|sources,([^\s\|]+?)\||h=([0‐9a‐zA‐Z]{32})\||s=([^\s\|]+?)\||p= ([^\s\|]+?)\|)*)\//', $str, $match);var_dump($isMatch, $match);JS版:var pattern = /ed2k:\/\/\|file\|([^\|]+?)\|(\d+?)\|([0‐9a‐zA‐Z]{32})\| ((?:\/\|sources,([^\s\|]+?)\||h=([0‐9a‐zA‐Z]{32})\||s=([^\s\|]+?)\||p=([^\s\|]+?)\|)*)\//,str = '';console.log(pattern.test(str));本文来自清渭技术小站(qingwei.tech)。
JS之正则表达式 正则表达式(英⽂:regular expression),是⼀种符合某种语法规则的⽂本。
同时可以理解为使⽤单个字符串来描述,匹配⼀系列的符合某种语法规则的字符串。
许多语⾔都有着符合⾃⼰语法规范的正则表达式,如java,python,php,js。
虽然这些正则不是完全⼀样,但也是⼤同⼩异。
今天我想重点说的是JS中的正则表达式。
正则表达式的功能⼗分强⼤,能够熟练掌握它能够为平时的学习和⼯作带来不少的便利。
虽然正则理解⼊门不是很难,但是真正地去掌握它并且熟练地运⽤起来却不是⼀件容易的事情。
正则表达式基础语法内容1.1正则表达式的构造 在js中,正则表达式有两种构造⽅式。
⼀种是常⽤的字⾯量表⽰法,即将正则字符串写在/(regexp)/ 例如要匹配⼀个数字var reg=/\d/; 还有⼀种是构造函数的⽅法,即new RegExp()。
该⽅法有接收两个参数,第⼀个参数是正则字符串,第⼆个是匹配的模式(下⽂会讲)。
但是第⼀个参数⽐较特殊,在转义字符时同时要转义转义字符,即若是⽤这种⽅法匹配⼀个数字,var reg=new RegExp('\\d','g');1.2正则表达式的匹配模式 常见匹配模式有三种,即全局匹配g,不区分⼤⼩写i,多⾏搜索匹配m。
'abcd'.replace(/[a-z]/,'1') //'1dcd' 只匹配⼀次'abcd'.replace(/[a-z]/g,'1') //'1111' 都可以被匹配'ABcd'.replace(/[a-z]/,'1') // 'AB1d''ABcd'.replace(/[a-z]/gi,'1') //'1111''abc'.replace(/^[a-z]/,'1')//'1bc'//换⾏符隔开'abc'.replace(/^[a-z]/m,'1')//'111'2.正则表达式语法2.1元字符 正则表达式由两种基本字符类型组成:①.原义⽂本字符,就是字符本⾝代表的意思。
js正则表达式简单校验⽅法对于字符串的⼀些操作,可以通过正则表达式来实现。
⼀般的搜索操作想必⼤家已经学会,今天就来说说它的校验功能,这样可以帮助判断字符串类型或者是其它的组成,⽐如密码、中⽂、字符串的组成等。
下⾯就js正则表达式的校验带来内容分享,同时要考虑在js中⽀持的类型。
1.常见js正则校验(1)校验密码强度密码的强度必须是包含⼤⼩写字母和数字的组合,不能使⽤特殊字符,长度在8-10之间。
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$(2)校验中⽂字符串仅能是中⽂。
^[\\u4e00-\\u9fa5]{0,}$(3)由数字、26个英⽂字母或下划线组成的字符串^\\w+$2.js⽀持与不⽀持类型js⽀持⼤多数元字符字符组段落起始和终结,以及伪逻辑⾏匹配优先量词 .* 和忽略优先量词 .*?正向环视 ?=反向引⽤ \1 \2⾮捕获的分组 ?:常⽤修饰符 /igxjs 不⽀持的有逆向环视(逆向断⾔)?<=命名分组 ?=p分组内部修饰符 (?=i)固化分组 ?>占位量词 .*+js正则表达式校验实例/*是否带有⼩数*/function isDecimal(strValue ) {var objRegExp= /^\d+\.\d+$/;return objRegExp.test(strValue);}/*校验是否中⽂名称组成 */function ischina(str) {var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/return reg.test(str); /*进⾏验证*/}/*校验是否全由8位数字组成 */function isStudentNo(str) {var reg=/^[0-9]{8}$/; /*定义验证表达式*/return reg.test(str); /*进⾏验证*/}/*校验电话码格式 */function isTelCode(str) {var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;return reg.test(str);}/*校验邮件地址是否合法 */function IsEmail(str) {var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;return reg.test(str);}到此这篇关于js正则表达式简单校验⽅法的⽂章就介绍到这了,更多相关js正则表达式校验内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
JS正则表达式详解正则表达式⾮常有⽤,查找、匹配、处理字符串、替换和转换字符串,输⼊输出等。
下⾯整理⼀些常⽤的正则表达式。
常⽤的正则字符1.\ : 将下⼀个字符标记为⼀个特殊字符、或⼀个原义字符、或⼀个向后引⽤、或⼀个⼋进制转义符。
例如,'n' 匹配字符 "n"。
'n' 匹配⼀个换⾏符。
序列 '\' 匹配 "" ⽽ "(" 则匹配 "("。
2.^:匹配输⼊字符串的开始位置。
如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 'n' 或 'r' 之后的位置。
3.$:匹配输⼊字符串的结束位置。
如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 'n' 或 'r' 之前的位置。
4.*:匹配前⾯的⼦表达式零次或多次。
例如,zo能匹配 "z" 以及 "zoo"。
等价于{0,}。
5.+:匹配前⾯的⼦表达式⼀次或多次。
例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。
+ 等价于 {1,}。
6.?:匹配前⾯的⼦表达式零次或⼀次。
例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。
? 等价于 {0,1}。
7.{n}:n 是⼀个⾮负整数。
匹配确定的 n 次。
例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
8.{n,}:n 是⼀个⾮负整数。
PHP知识:PHP常用正则表达式PHP知识:PHP常用正则表达式大全在PHP的编写中,数据怎么处理好呢?怎么翻译出计算机能够识别的语言呢?以下是店铺精心为大家整理的PHP常用正则表达式大全,希望对大家编写数据有所帮助!更多内容请关注应届毕业生网!匹配数字"^\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/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/ //电话号码"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP 地址其他匹配匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]匹配空行的正则表达式:\n[\s| ]*\r匹配HTML标记的正则表达式:/<(.*)>.*<\ 1="">|<(.*)>/匹配首尾空格的正则表达式:(^\s*)|(\s*$)匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$元字符及其在正则表达式上下文中的行为:\将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。
js 字符长度范围正则表达式1. js 字符长度范围的重要性在编程中,我们经常需要对字符串的长度范围进行限制,例如在用户注册时要求密码长度在6-12位之间。
在 JavaScript 中,我们可以利用正则表达式来对字符长度范围进行有效的限制和验证。
今天,我将为大家详细介绍在 JavaScript 中如何使用正则表达式来限制字符长度范围,并提供一些个人观点和理解。
2. 正则表达式简介正则表达式是一种用于匹配字符串的强大工具,在 JavaScript 中也得到了广泛的应用。
我们可以使用正则表达式来验证字符串的格式、长度和内容,从而实现对输入的有效控制。
3. 限制字符长度范围的正则表达式在 JavaScript 中,我们可以使用正则表达式来限制字符长度范围,下面是一个简单的例子:```javascriptconst pattern = /^.{6,12}$/;```在这个例子中,我们使用了`^.{6,12}$`这个正则表达式来限制字符串的长度范围在6到12之间。
其中`^`表示字符串的开头,`.{6,12}`表示任意字符连续出现6到12次,`$`表示字符串的结尾。
这样一来,我们就可以通过这个正则表达式来验证输入的字符串是否符合长度范围的要求。
4. 深入理解正则表达式正则表达式虽然强大,但也是比较晦涩难懂的。
在学习和使用正则表达式时,我建议大家首先从简单的例子和基本的语法开始,逐步深入理解。
可以先从限制字符长度范围的例子开始,逐步了解`^`、`$`、`{}`等符号的含义,然后再逐步扩展到更复杂的正则表达式应用场景。
5. 个人观点和理解对于正则表达式限制字符长度范围的应用,我认为是非常有必要的。
在实际的项目开发中,我们经常需要对用户输入进行有效的控制,以防止错误或恶意输入导致程序异常或安全问题。
使用正则表达式可以很好地实现这一目的,而且也为我们提供了非常灵活和高效的解决方案。
6. 总结与回顾在本文中,我们首先介绍了在 JavaScript 中使用正则表达式限制字符长度范围的重要性,然后简要介绍了正则表达式的基本概念和语法。
php运行正则表达式的方法PHP运行正则表达式的方法背景介绍正则表达式在PHP中是一个非常重要和强大的工具,它可以用来匹配、搜索和替换字符串。
本文将介绍PHP中运行正则表达式的各种方法。
方法一:preg_match函数使用preg_match函数可以在一个字符串中搜索匹配正则表达式的第一个结果。
代码示例:<?php$pattern = "/php/";$string = "This is a PHP tutorial.";if (preg_match($pattern, $string)) {echo "匹配成功!";} else {echo "匹配失败!";}>方法二:preg_match_all函数使用preg_match_all函数可以在一个字符串中搜索匹配正则表达式的所有结果。
代码示例:<?php$pattern = "/php/";$string = "This is a PHP tutorial. PHP is a popular prog ramming language.";if (preg_match_all($pattern, $string, $matches)) {echo "匹配成功!";echo "<pre>";print_r($matches);echo "</pre>";} else {echo "匹配失败!";}>方法三:preg_replace函数使用preg_replace函数可以将匹配正则表达式的结果替换为指定的字符串。
代码示例:<?php$pattern = "/php/i";$string = "This is a PHP tutorial.";$replace = "JavaScript";$newString = preg_replace($pattern, $replace, $string); echo $newString;>方法四:preg_split函数使用preg_split函数可以根据正则表达式将一个字符串拆分成多个子串,并返回一个数组。
php匹配正则表达式【原创版】目录1.PHP 正则表达式的概念2.PHP 正则表达式的语法3.PHP 正则表达式的常用函数4.PHP 正则表达式的应用实例正文一、PHP 正则表达式的概念正则表达式(Regular Expression,简称 regex)是一种强大的文本处理工具,可以用来检查文本是否符合某种模式、提取文本中的特定信息等。
在 PHP 中,正则表达式被广泛应用于各种字符串处理和验证场景。
二、PHP 正则表达式的语法PHP 中的正则表达式主要通过 preg_match、preg_match_all、preg_match_group 等函数来实现,其基本语法如下:1.匹配字符:用于匹配任意字符,如 [a-zA-Z] 表示匹配所有英文字母。
2.量词:用于指定字符或字符类出现的次数,如?表示出现 0 次或 1 次,*表示出现 0 次或多次。
3.分组和捕获:通过圆括号表示一个分组,可以捕获括号内的内容,如 (abc)。
4.选择:用竖线 (|) 表示选择,如 [a|b] 表示匹配 a 或 b。
5.反向引用:用反斜杠 () 表示引用前面捕获的内容,如1表示引用第一个捕获的内容。
三、PHP 正则表达式的常用函数1.preg_match:用于匹配一个字符串是否符合正则表达式的模式,如果匹配成功则返回 1,否则返回 0。
2.preg_match_all:用于匹配一个字符串中符合正则表达式的所有内容,并将结果存储在一个数组中。
3.preg_match_group:与 preg_match_all 类似,不过是将结果存储在一个变量中。
4.preg_replace:用于将一个字符串中的所有符合正则表达式的内容替换为指定的值。
5.preg_split:用于将一个字符串按照正则表达式的模式分割成数组。
四、PHP 正则表达式的应用实例1.验证邮箱地址:通过正则表达式检查用户输入的邮箱地址是否符合规范。
2.验证手机号码:通过正则表达式检查用户输入的手机号码是否符合我国手机号码的规范。
正则表达式大于50万的判断js与php写法
<script type="text/javascript" >
$(document).ready(function(){
$.formValidator.initConfig({autotip:false,formid:"investConfirmForm", onerror:function(msg){}});
$("#price").formValidator({tipid:'moneyTips',onshow:"请填写投资金额",onfocus:"请填写投资金额"}).inputValidator({min:1,onerror:"请填写投资金额,投资金额不能大于此次融资的剩余投资金额
"}).functionValidator({fun:function(){
var sumNum = $("#price").val();
var regrep=new RegExp(",","g");
sumNum = sumNum.replace(regrep,"");
var reg = /^([1-9]?[0-9])|(500000)*$/;
if( sumNum < 500000 || !reg.test(sumNum)){
return "投资金额为大于50万的正整数";
}
sumNum = parseInt( sumNum );
var remainNum = parseInt( $("#remainNum").val() );
if(sumNum > remainNum || sumNum < 1){
return "投资金额不能大于本次投资的剩余投资金额";
}
var remainamount = parseInt( $("#remainamount").val() );
if(sumNum > remainamount || sumNum < 1){
return "账户没有余额,请您先充值!";
}
}});
//$("#checkCode").formValidator({tipid:'chkCodeTips',onshow:"请填写验证码",onfocus:"请填写验证码"}).inputValidator({min:4,max:4,onerror:"请填写4位验证码"});
$("#price").blur(function(){
chksum();
});
});
function chksum(){
var sumNum = $("#price").val();
var regrep=new RegExp(",","g");
sumNum = sumNum.replace(regrep,"");
var reg = /^[1-9]?[0-9]*$/;
if( sumNum < 1 || !reg.test(sumNum)){
$("#moneyTips").html("投资金额为大于0的正整数
").attr("class","onError").show();
return false;
}
sumNum = parseInt( sumNum );
var remainNum = parseInt( $("#remainNum").val() );
if(sumNum > remainNum || sumNum < 1){
$("#moneyTips").html("投资金额不能大于本次投资的剩余投资金额").attr("class","onError").show();
return false;
}
sumNum = parseInt( sumNum );
var remainamount = parseInt( $("#remainamount").val() );
if(sumNum > remainamount || sumNum < 1){
$("#moneyTips").html("余额不足,请您充值!
").attr("class","onError").show();
return false;
}
var lastNum = formatNum( sumNum );
$("#price").val(lastNum);
}
</script>标题:正则表达式大于50万的判断js与php写法。