标题:ereg()与eregi()
# ?6 }) E% ?( @# e* v; w2 \4 O
出处:V5 DELELOPMENT BLOG
L( O) ~/ Y& \1 u
时间:Thu, 09 Feb 2006 22:51:33 +0000
! K8 ^- x. z7 [) l5 p+ m' d
作者:fish
0 v2 J8 F& q- \: z$ t6 @
地址:
http://v5.jiayuan.org/blog/read.php?9
, P7 t; E5 B+ v. H: U: \+ {6 Q, v; o8 H- O/ f6 V2 q5 L: J" K9 v
内容:
7 m* m8 s. H6 m5 `3 f- ~: w& T8 Cereg() 字符串比对解析。
% m+ V! J3 D6 X* T! C1 y* v% c X, t
6 ^6 [" N; o7 V( M& m语法: int ereg(string pattern, string string, array [regs]);
& @- C1 C A/ s" q- r
8 \1 v* ]0 Z7 y返回值: 整数/数组
9 W: M4 Q1 u8 G" j/ L) n0 H
2 W2 ?: l' K3 {9 L# Q7 z
函数种类: 资料处理
. j, }8 |6 _. C6 y# v/ V |3 z
% ?, z. O$ |/ n' h# ~+ _
内容说明
) K; E" ^( `, X( a$ t+ ^( b0 K. \
, A) @$ m5 w+ P) _! q8 {本函数以 pattern 的规则来解析比对字符串 string。比对结果返回的值放在数组参数 regs 之中,regs[0] 内容就是原字符串 string、regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二个合乎规则的字符串,余类推。若省略参数 regs,则只是单纯地比对,找到则返回值为 true。
$ D! m+ p2 y- n( y/ s) N3 K7 d4 b) `% ~5 P O
使用范例
- Y# p' E) R( K, K' F: u2 ]
! @6 e9 i5 `0 L" n# P简单例子:
. i' |0 r! W( k
<?php
3 S! y! a" U; [% Qif (ereg("c","abcdef")){ ? ?//说明:判断abcdef中是否含有字母c
, w+ W5 }! D, B+ _/ Q6 G; f
? ?echo "通过";
. P, v C" t, P5 S
}else{
. V- ^3 R$ B9 v; o- Q# ` ? ?echo "错误";
" e' I: H% X# O; a; R}
$ p+ }8 q! v! R. S4 {) `4 d; z?>
2 \2 Q t* G) o$ k0 B: P" x5 A, i! o& I$ W' _2 U' v
, U4 p) `' _2 [, d) B, \% v下面这个例子是对输入的 E-Mail 作简单的检查,检查使用者的 E-Mail 字符串是否有 @ 字符,在 @ 字符前有英文字母或数字,在之后有数节字符串,最后的小数点后只能有二个或三个英文字母。
super@mail.wilson.gs 就可以通过检查,
super@mail.wilson 就不能通过检查。
3 {) T9 M$ [% Q, }, t: x) V0 t$ |# a<?php
# r" T; u. ~+ Y! {
if (ereg("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {
: u/ \- Q+ }4 ^& e7 m ?echo "您的 E-Mail 通过初步检查";
& X {. o& P/ k! d
}
3 p {% _5 a8 o3 q0 j5 z
?>
6 A# s5 ~1 _- r, n3 _8 ] t) m
$ m$ E3 p; v' W5 b) d; p4 n* j
9 x! E% b- R6 [4 U- w6 J3 o3 `
eregi()
* }+ \1 f8 D; t$ P* w用法与 ereg() 相同。不同之处在于 ereg() 有区分大小写,eregi()本函数与大小写无关。
" S% V' ^) w0 O, `4 F- W. v, m; g& I- S7 x+ A7 F# r3 w$ R
下面举例说明这两个函数的区别:
5 O8 R5 y5 [) B8 L4 |- W' e
. V: J9 ~8 N( D2 j在abcdef中查找是否含有大写字母C
8 T) x" l4 s0 C. N
# k" T0 ], ?) n<?php
/ c* N$ L- T/ N% V9 |2 A# I
if (ereg("C","abcdef")){
0 f/ j4 h& t4 {0 d. A# } ? ?echo "通过";
4 n2 v! y8 Q P0 L7 [}else{
2 z. Q3 Q+ v8 x! [/ U* \ ? ?echo "错误";
4 z2 k! v' z) N' ~3 g
}
9 g) c1 k9 [! q, r: y?>
3 R( j! ^2 D- S0 Z) j7 q+ G
//返回结果是:错误
/ d6 q8 b5 U' \9 x. [
/ v7 i1 c& G8 ?' q- U: ~# [<?php
* \5 X% O5 S' C; R/ ^4 l1 a
if (eregi("C","abcdef")){
' W2 |8 M# G6 {& D: l ? ?echo "通过";
0 E& @5 |$ E- }: A+ b0 _/ `}else{
1 ^9 H c3 [; ?: x$ Z! s& u ? ?echo "错误";
/ c, O" G2 x0 G7 V- e2 A) l7 C}
, g( s) Y2 R- H?>
/ d) `: e' L9 a3 q7 o; ]//返回结果是:通过