正则表达式如何在PHP里灵活的应用

正则表达式也称为模式表达式,自身具有一套非常完整的、可以编写模式的语法体系,提供了一种灵活且直观的字符串处理方法。正则表达式通过构建具有特定规则的模式,与输入的字符串信息比较,从而实现字符串的匹配、查找、替换及分割等操作。

这个程序实现的是用正则表达式实现登录验证的一个Demo

<1>:

<?php
if(isset($_POST["sub"])){
$text=$_POST["text"];
$patten='^[0-9]*$';
if(!preg_match($patten,$text,$x)){
echo"<script>alert('用户没有输入数字');</script>";
}else{
if($x<1){
$y=$x;
echo "y=".$y."<br>";
}else if($x<10){
$y=2*$x-1;
echo
"y=".$y."<br>";
}else{
$y=3*$x-11;
echo "y=".$y."<br>";
}
}
?>
<html>
<head>
</head>
<body>
<form method='post'>
请输入信息:<input type="text"name="text">
<input type="submit"name="sub"value="提交">
</form>
</body>
</html> 

<2>:

<html>
<head>
</head>
<body>
<form method='post'>
注册账号:<input type="text"name="aNum"><br>
登录密码:<input type="password"name="pwd"><br>
重复密码:<input type="password"name="rPwd"><br>
邮箱地址:<input type="text"name="email"><br>
手机号码:<input type="text"name="tel"><br>
<input type="submit"name="sub"value="注册">
<?php
if(isset($_POST["sub"])){
$aNum=$_POST["aNum"];
$pwd=$_POST["pwd"];
$rPwd=$_POST["rPwd"];
$email=$_POST["email"];
$tel=$_POST["tel"];
$patten1="^\w+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";//验证邮箱
$patten2="[0-9]{11}";//11位数字组成,验证手机号码
$patten3="[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"//验证账号
if(!preg_match($patten3,$aNum)){
echo"<script>alert('账号格式不对');</script>";
}else{
if($pwd.length<6){
echo"<script>alert('密码格式不对');</script>";
}else{
if(!preg_match($patten,$email)){
echo"<script>alert('email格式不正确');</script>";
}else{
if(!preg_match($patten2,$tel)){
echo"<script>alert('手机号码格式不正确');</script>";
}else{
if(strlen($pwd)!=strlen($rPwd)){
echo"<script>alert('两次密码不一致');</script>";
}else{
echo"用户您好!您的账号为:".$aNum.",密码为:".$pwd.",邮箱为:".
$email.",手机号码为:".$tel;
}
}
}
}
}
?>
</form>
</body>
</html> 
(0)

相关推荐

  • php入门学习知识点四 PHP正则表达式基本应用

    复制代码 代码如下: <?php //正则表达 式 // ereg区分大小写 if(ereg("([A-Z]{3,})", "AAA")){ echo "大写能匹配!<br>"; }else{ echo "no"; } if(ereg("([A-Z]{3,})", "aaa")){ echo "yes"; }else{ echo "小写不能

  • php中常用的正则表达式的介绍及应用实例代码

    更全面的实例,可以参考最常用的PHP正则表达式收集整理http://www.jb51.net/article/14049.htm php 正则表达式小结http://www.jb51.net/article/19831.htm PHP 正则表达式的几则使用技巧http://www.jb51.net/article/19832.htm 以下内容为php中常用的正则,正则是一门通用性的语法,可以在网上下载更全面的正则,提供学习! 作用:分割,匹配,查找,替换 1,php中两个常用的正则函数 preg

  • 正则表达式如何在PHP里灵活的应用

    正则表达式也称为模式表达式,自身具有一套非常完整的.可以编写模式的语法体系,提供了一种灵活且直观的字符串处理方法.正则表达式通过构建具有特定规则的模式,与输入的字符串信息比较,从而实现字符串的匹配.查找.替换及分割等操作. 这个程序实现的是用正则表达式实现登录验证的一个Demo <1>: <?php if(isset($_POST["sub"])){ $text=$_POST["text"]; $patten='^[0-9]*$'; if(!pre

  • 如何在ASP里建立表格?

    如何在ASP里建立表格?<% Dim conn Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DSN=blah" ' 建立连接 Dim strSQL strSQL = "CREATE TABLE test (name varchar(50), age int)" conn.Execute strSQL %>

  • 如何在CocosCreator里画个炫酷的雷达图

    前言 雷达图(Radar Chart) 也称为网络图.星图或蜘蛛网图. 是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多元数据的图形方法. 适用于显示三个或更多的维度的变量. 雷达图常用于

  • 如何在vite里获取env环境变量浅析

    目录 .env环境配置文件 在cli项目中我们可以是配置.env.[mode]文件来配置环境变量 在cli项目中使用.env.[mode] 在vite中使用.env文件 总结 .env环境配置文件 在项目中总会遇到一些默认的配置,需要我们配置到静态文件中方便我们去获取,这时候就可以用到这个.env环境变量文件,在cli创建的项目中顶层的nodejs会有一个process对象,这个对象可以根据不同的环境获取不同的环境配置文件,但是,在vite里面无法使用process对象,通过研究,在vite里使

  • 如何在Python里使用ChatGPT及ChatGPT是什么?注册方式?

    目录 问: 如何在python中使用chatGPT? ChatGPT是什么?怎么注册? 废话不多说,直接开干!需要库 pip install openai import openai # Set your API key openai.api_key = "你的chatgpt的密钥key" # Use the GPT-3 model completion = openai.Completion.create(engine="text-davinci-002",pro

  • 如何在ASP里显示进度条?

    response.buffer=true ' 应用缓存技术. dim lostnum ' 防止dmax过大而dstep过小. dim shownum delayshow(dstep,dmax) sub delayshow(dstep,dmax) ' dmax表示要处理多少dmax(步)才能完成全过程,dstep表示已处理的占全过程的大致百分比. dim total ' 显示所有画面. dim dtemp ' 过渡变量. total=100 dtemp=dstep dstep=dstep+lost

  • 如何在django里上传csv文件并进行入库处理的方法

    运维平台导入数据这一功能实在是太重要了,我敢说在没有建自己的cmdb平台前,大多数公司管理服务器信息肯定是表格,用表格最麻烦的就是有点更新就得每个人发一份,这样大家信息才能统一,很不方便,终于有一天受不了了,搞了一个服务器信息管理平台,那面临的第一个问题不是说功能好或不不好,而是怎么才能把表里的数据导入到数据库中,所以你说重要不重要,当然如果你就喜欢自己手工录入(找虐的感觉),这个咱也不能说啥,各有所好嘛,那具体如何录的最快,这个不在我们今天的讨论范围,我只讨论如何自动导入. 提到导入,那一般有

  • 详解如何在Vue里建立长按指令

    您是否曾想过按住按钮几秒钟才能在Vue应用程序中执行某个功能? 您是否曾想在应用程序上创建一个按钮,通过按一次(或按住按钮的整个输入)来清除单个输入? 如果你曾有过这些想法,很好,我也是.那么恭喜你看到了这篇文章. 本文将解释如何通过按下(或按住)按钮来执行功能和删除输入. 首先,我将解释如何在VanillaJS中实现这一目标.然后,为它创建一个Vue指令. 那么,让我们开始吧. 原理 为了实现长按,用户需要按住按钮几秒钟. 要在代码中复制它,我们需要在按下鼠标"单击"按钮时监听,启动

  • 如何在vue里添加好看的lottie动画

    引入lottie库 ( >.< ) 在vue中引入lottie非常非常简单 1.安装vue-lottie包 npm install --save vue-lottie 2.全局引入vue-lottie 在main.js引入并注册全局组件即可 import lottie from 'vue-lottie'; Vue.component('lottie', lottie) 当然你也可以局部引入 ~ o ~ 3.引入你的lottie资源 在文中顶部lottie资源网站可以下载相应的资源,下载下来的文

  • 详解如何在SpringBoot里使用SwaggerUI

    Swagger Swagger是一种和语言无关的规范和框架,用于定义服务接口,主要用于描述RESTful的API.它专注于为API创建优秀的文档和客户端库.支持Swagger的API可以为API方法生成交互式的文档,让用户可以通过以可视化的方式试验,查看请求和响应.头文件和返回代码,从而发现API的功能. swagger用于定义API文档. 好处: 前后端分离开发 API文档非常明确 测试的时候不需要再使用URL输入浏览器的方式来访问Controller 传统的输入URL的测试方式对于post请

随机推荐