ldrahnik / regexp
正则表达式集合。
v1.3
2015-04-14 21:49 UTC
Requires
- php: >= 5.4
- nette/nette: ~2.0
Requires (Dev)
- nette/tester: ~1.3@dev
This package is not auto-updated.
Last update: 2024-09-28 17:12:31 UTC
README
正则表达式集合。
需求
ldrahnik/regexp 需要 PHP 5.4 或更高版本。
安装
使用 Composer 将 regexp 安装到您的项目中
$ composer require ldrahnik/regexp
用法
在配置文件中注册扩展
extensions: regexp: regexp\DI\RegexpHelperExtension regexp: myRegularName: ^[0-9]{1,10}$ twitterUsername: foo
现在您可以通过服务使用所有正则表达式
/** @var \regexp\Regexp @inject */ private $regexp; public function __construct(regexp\Regexp $regexp) { $this->regexp = $regexp; } public function createComponentForm() { $form = new Nette\Application\UI\Form(); $form->addText('twitter', 'Twitter username') ->setDefaultValue('@') ->addCondition(Form::FILLED) ->addRule(Form::PATTERN, 'Please enter twitter username, for example: @username', $this->regexp->getTwitterUsername()); ... // $this->regexp->getRegularExpression('twitterUsername')); // equivalent of that expression is // $this->regexp->getTwitterUsername(); } ....
您可以使用或覆盖已经存在的内置正则表达式
'username' => '^[a-z0-9_-]{3,16}$', 'twitterUsername' => '^(\@)?[A-Za-z0-9_]+$', 'password' => '^[a-z0-9_-]{6,18}$', 'facebook' => '^(https?:\/\/)?(www\.)?facebook.com\/[a-zA-Z0-9(\.\?)?]', 'google' => '((http|https):\/\/)?(www[.])?plus\.google\.com\/.?\/?.?\/?([0-9]*)'