入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

正则表达式入门(js例子)

创建时间:2016-11-23 投稿人: 浏览次数:2107

网上的正则表达式教程多种多样,不过大多是都是直接贴出来正则的一些语法,可能会让大多数刚刚接触到正则的然摸不着头脑。。。

比如js的 test()方法怎么使用正则表达式那,php那些正则函数怎么使用都是一头雾水。

首先,基础的语法我就不在这里啰嗦了,我就是帮助大家旅顺一下正则的具体使用场景,先来说js简单的表单验证,最常用的也就是test()函数

var a= "1231231";
console.log(/^[d]+$/gi.test(a)) //true
上面是最简单的验证纯数字字符串的正则

首先来说js的test()函数的使用,简单来说就是 ====》 正则表达式.test(要匹配的字符串)

var a= "1231231";
var b = /^[d]+$/gi;
console.log(b.test(a)) //true
正则表达式的意思是验证这个字符串是否符合你的要求,符合就是true 不符合就是false  如果你想验证一个字符串不能是纯数字那么就

var a= "1231231";
var b = /^[d]+$/gi;
console.log(!b.test(a)) //false
函数跟正则的意义明确了 下面让我们来分析下具体的正则

/^[d]+$/gi

==================================

^
    
匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“ ”或“ ”之后的位置。
$
    
匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“ ”或“ ”之前的位置。
+
    
匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}

d
    
匹配一个数字字符。等价于[0-9]

[xyz] 字符集合。匹配所包含的任意一个字符

/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)

=======================================

上面的正则可以这样描述:匹配一个数字开头(^) 数字结尾($)   一直是数字并且至少有一个数字的字符串([d]+)

这样也就是匹配一个全数字的字符串。。。。

如果可以是数字和字母:

/^[dw]+$/gi
当然我说的只是简单的例子,有很多复杂的正则还要慢慢的探索。。。这篇帖子也只是一个简简单单的入门,给找不到正则大门的人 指个方向而已。


学习正则主要的就是先把正则的基础知识都捋顺一遍,然后多写多练就ok了 

其实正则表达式 就是按照你的规则把  拼接字符串就可以了

写正则的时候 记住:什么东西多少次  然后  拼接上什么东西多少次。。。。就是这个样子 


什么东西也就是 : 数字d 字母w 汉子[u4e00-u9fa5]  任意字符 .     

多少次也就是     :最少一次 + 一次或者没有{?} n次{n} n到m次 {n,m} 任意次 *


3个数字2个字母 ==》d{3}w{1}

数字开头 数字结尾中间随意===》 ^d.*d$  (.*的意思就是匹配任何东西任何次)


http://baike.baidu.com/link?url=eKT61hmyMgAPojdrOyUIXT6eruyowYK4dKOiTBrf-IMigvMYQdYNpOuZiUJPqsepEzVFRFYwzNO7NmPcLsQT-LQ7pHVOcEgfXcPyryuJNC_si_-wc5hB9nnOfWFPVGcYKtGvmH0FoNa9P5yu6JuQba

上面是最好的教程。。。。

=======个人记录========

php匹配中英文数字

$a = preg_match("/^[A-Za-z0-9x{4e00}-x{9fa5}]+$/u","as啊df1");
$phonenumber = "13712345678";  
    if(preg_match("/^1[34578]{1}d{9}$/",$phonenumber)){  
        echo "是手机号码";  
    }else{  
        echo "不是手机号码";  
    } 

js匹配中英文数字

/^[A-Za-z0-9u4e00-u9fa5]+$/gi



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。