PHP表单常用正则表达式(URL、HTTP、手机、邮箱等)

<?php

/**

* @description: 正则表达式匹配

*/

class Regex {

/**

* @手机号

*/

public static function Phone($subject) {

$pattern=‘/^(0|86|17951)?(13[0-9]|15[012356789]|1[78][0-9]|14[57])[0-9]{8}$/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @数字

*/

public static function Number($subject) {

$pattern=‘/^[0-9]+$/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @年份 格式:yyyy

*/

public static function Year($subject) {

$pattern=‘/^(\d{4})$/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @月份 格式:mm

*/

public static function Month($subject) {

$pattern=‘/^0?([1-9])$|^(1[0-2])$/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @日期 格式:yyyy-mm-dd

*/

public static function Day($subject) {

$pattern=‘/^(\d{4})-(0?\d{1}|1[0-2])-(0?\d{1}|[12]\d{1}|3[01])$/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @日期时间 格式:yyyy-mm-dd hh:ii:ss

*/

public static function DateTime($subject) {

$pattern=‘/^(\d{4})-(0?\d{1}|1[0-2])-(0?\d{1}|[12]\d{1}|3[01])\s(0\d{1}|1\d{1}|2[0-3]):[0-5]\d{1}:([0-5]\d{1})$/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @邮箱

*/

public static function Email($subject) {

$pattern=‘/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @邮编

*/

public static function Postcode($subject) {

$pattern=‘/[1-9]\d{5}(?!\d)/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @有效图片地址

*/

public static function Photo($subject) {

$pattern=‘/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @URL地址

*/

public static function UrlAddress($subject) {

$pattern=‘/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @有效HTTP地址

*/

public static function EffectiveHttp($subject) {

$pattern=‘/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @身份证

*/

public static function Identity($subject) {

$pattern=‘/(^\d{15}$)|(^\d{17}([0-9]|X)$)/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @IPv4

*/

public static function Ipv4($subject) {

$pattern=‘/^(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @IPv6

*/

public static function Ipv6($subject) {

$pattern=‘/^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$/‘;

return Regex::PublicMethod($pattern, $subject);

}

/**

* @匹配正则公共方法

*/

public static function PublicMethod($pattern, $subject){

if(preg_match($pattern, $subject)){

return true;

}

return false;

}

}

时间: 2024-12-28 21:30:32

PHP表单常用正则表达式(URL、HTTP、手机、邮箱等)的相关文章

表单常用的正则表达式

1.^\d+$ //匹配非负整数(正整数 + 0) 2.^[0-9]*[1-9][0-9]*$ //匹配正整数 3.^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0) 4.^-[0-9]*[1-9][0-9]*$ //匹配负整数 5.^-?\d+$ //匹配整数 6.^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0) 7.^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0

常用正则表达式(手机号、邮箱、URL地址、身份证等等)

一.前言 不好的习惯:1.每一次用到正则都是上网copy一份,也没有去学习思考,看看都是什么意思: 2.一个项目里不同的地方用到了相同的校验,一直在重复的copy代码,并没有统一起来,万一哪天要修改规则,若是多人开发,每个人的正则校验不尽相同,改起来就很麻烦. 先记录一下,后续慢慢学习,最后自己能看懂并会写常用的正则. 二.正则基本知识点 1.横向模糊匹配{}: 一个正则可以匹配的字符串的长度不是固定的,使用量词可以达到这种目的. 量词:比如{m , n} :表示连续出现最少 m 次,最多 n

9.26上午 JS\表单验证+正则表达式

表单验证+正则表达式 一.非空验证 trim:去空格(去掉前后的空格),任何字符串都可以用这个方法.写法为:if(v.trim().length==0),表示如果去掉空格后的字符串的长度为0. <body><form action="Untitled-1.html" method="post"><input type="text" name="uid" id="uid"  on

收集的一些表单常用的正则表达式。

表单验证常用正则,非常不错,收集的相对比较完整,大家可以看看.1.^\d+$ //匹配非负整数(正整数 + 0) 2.^[0-9]*[1-9][0-9]*$ //匹配正整数 3.^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0) 4.^-[0-9]*[1-9][0-9]*$ //匹配负整数 5.^-?\d+$ //匹配整数 6.^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0) 7.^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9

3月29 表单以及正则表达式

1.表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电话号码,身份证号,邮箱,信用卡号等的验证:需要用到正则表达式来进行验证. (5).其它验证 2.正则表达式 用符号来描述书写规则:/ 中间写正则表达式 / ^ :匹配开头,$:匹配结尾 : /^ve/以ve开头的 /ve$/以ve结尾 \d:一个任意的数字 \w:一个任意的数字或字母 \s:任意的字符串 {n}:把左

注册表单常用验证方式

一..net中有多种方法 1.引用<script src="Scripts/jquery.validate.js"></script> <script src="Scripts/jquery.validate.unobtrusive.js"></script> 在需要验证的input标签上添加属性data-val="true",即表示改标签参加验证. 继续在标签上添加属性data-val-requi

JavaScript 表单验证正则表达式大全

JavaScript验证正则表达式大全,搜集最全的JavaScript验证正则表达式,开始查看吧,这里的都是正则表达式的例子 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?

HTML 表单常用的代码元素

表单: 将数据通过浏览器提交到服务器的媒介.<form action="" method="get/post" ></form> get 提交有长度限制 post 提交无长度限制 一般常用post  表单元素:12个 1.文本类1).<input type="text" value=""> - 文本框 在文本框中输入内容.... 2).password - 密码框 3).<textar

form表单常用提交方式—get与post的区别

表单有两种提交方式:get与post <form name="regForm" action="动作" method="提交方式"> </form> 1.get 以明文的方式通过URL提交数据,数据在URL中可以看到.提交数据最多不能超过2kb,安全性较低,但效率比post高.适合提交数据量不大安全性不高的数据,如搜索.查询等功能. 2.post 将用户提交的信息封装在HTML HEADER内,适合数据量大安全性高的用户信