| ^[0-9] (\.[0-9] )?$ |
这暗示匹配的字符串必须最少以一个阿拉伯数字开头. 但是注重,在上面模式中 "10." 是不匹配的, 只有 "10" 和 "10.2" 才可以. (你知道为什么吗)
| ^[0-9] (\.[0-9]{2})?$ |
我们上面指定小数点后面必须有两位小数.假如你认为这样太苛刻,你可以改成:
| ^[0-9] (\.[0-9]{1,2})?$ |
这将答应小数点后面有一到两个字符. 现在我们加上用来增加可读性的逗号(每隔三位), 我们可以这样表示:
| ^[0-9]{1,3}(,[0-9]{3})*(\.[0-9]{1,2})?$ |
不要忘记 ' ' 可以被 '*' 替代 假如你想答应空白字符串被输入话 (为什么?). 也不要忘记反斜杆 ’\’ 在php字符串中可能会出现错误 (很普遍的错误).
现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money) 然后在把类型看成 double然后我们就可以通过他做数学计算了.
再来一个:
构造检查email的正则表达式
在一个完整的email地址中有三个部分:
1. 用户名 (在 '@' 左边的一切),
2.'@',
3. 服务器名(就是剩下那部分).
用户名可以含有大小写字母阿拉伯数字,句号 ('.'), 减号('-'), and 下划线 ('_'). 服务器名字也是符合这个规则,当然下划线除外.
现在, 用户名的开始和结束都不能是句点. 服务器也是这样. 还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式:
| ^[_a-zA-Z0-9-] $ |
现在还不能答应句号的存在. 我们把它加上:
| 共5页: 上一页 [1] [2] 3 [4] [5] 下一页 | |||
![]() |