javascript学习笔记之初识正则表达式(RegExp)

     js正则表达式: 

. 任意字符(换行符除外)

\d 数字 0-9    

\D 非数字

\w 匹配字母数字下划线a-z 0-9 _

\W 非w即匹配除字母下划线以外的特殊字符

\s 空格符 换行符

[...] 字符范围

[^...] 字符范围以外

^ 行首

$ 行尾

\b 零宽单词边界   ???  即匹配字与空格之间的边界如\bter.test("terout")  ter\b.test("outer")

\B 非\b

\t\r\n\v\f     tab 回车 换行  垂直制表符 换页符

\转义 如 /\^123/.test("^123")

{x}\1分组  /{abc]\1/.test("abcabc")

{?:x}仅分组   /{?:abc}{def}\1/.test("abcdefdef")

    重复:

x*   abc*匹配 ab abc abcc abccc//重复任意次

x+  abc+ 匹配 abc abcc abccc //即重复最少一次

x*? 非贪婪算法如:/ abc*?/  在abccc中匹配ab

x+? 如:/abc+?/ 在abccc中匹配abc//

x{n} 重复n次; x{n} n+次; x{n,m} 重复 x大于等于n小于等于m次

    flag:

/g i m global 全局 ignoreCase 无视大小写 multiline 跨行

RegExp("abc","mgi")

    RegExp 方法:

/abc/.exec("abcdef");//返回匹配字符串'abc"

/abc/.test("abc");//返回bool值true

/abc/.toString();// 转化成字符串"/abc/"

var reg = /abc/; reg.compile("def");

reg.test("def");//true

    string与正则:

String.prototype.search 检索位置 ''abcabcdef'.search(/{abc}\1/);//返回索引0

.replace 替换 "aabbcc".replace(/b+?/,"1");  //aa1bcc

.match 匹配并获得 "aabbccbb".match(/b+/g);  // ["bb","bb"]

.spilt 切割 "aabbcc".split (/b+/);//["aa","cc"]

 

正则常规应用(php):

<?php
$user = array(
    'name' => 'example',
    'email' => 'example@example123.com',
    'mobile' => '15975586535'
);
//进行一般性验证
if (empty($user)) {

    //die 失败中断 打印信息
    die('用户信息不能为空');
}
if (strlen($user['name']) < 6) {
    die('用户名长度最少为6位');
}
//用户名必须为字母、数字与下划线
if (!preg_match('/^\w+$/i', $user['name'])) {
    die('用户名不合法');
}
//验证邮箱格式是否正确
if (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $user['email'])) {
    die('邮箱不合法');
}
//手机号必须为11位数字,且为1开头
if (!preg_match('/^1\d{10}$/i', $user['mobile'])) {
    die('手机号不合法');
}

//echo 打印“ ”
echo '用户信息验证成功';

 

学习中,不足之处请见谅。

 

 

 

 

 

 

 

 

 

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值