我使用笨用PHP.我正在使用以下表格,
<?php
echo form_open('/register/create_new', $form_params);
?>
DOB: <input type="text" id="dob" name="reg[dob]">
<input type="submit" value="Create Account" />
</form>
Run Code Online (Sandbox Code Playgroud)
在这里,#dob是dd-mm-yyyy格式.
我的验证码是,
array(
'field' => 'reg[dob]',
'label' => 'DOB',
'rules' => 'required'
)
Run Code Online (Sandbox Code Playgroud)
如何设置rules正确的日期验证?
当涉及到这个正则表达式时,有人能告诉我我的方式的错误:
if(preg_match("/^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$/", $_POST["date"]) === 0) {
echo 'error';
}
Run Code Online (Sandbox Code Playgroud)
基本上我希望每次都显示一条错误信息 - 除非格式正确(dd/mm/yyyy).
我上面做错了什么?
非常感谢任何指针.
- 发布后不久更新的正则表达式 - 给您带来不便的道歉 -
我正在尝试使用preg_match修改的preg格式:检查生日格式(dd/mm/yyyy)以匹配信用卡到期日期(yyyy-MM格式)
if (!preg_match('/([0-9]{4})\-([0-9]{2})/', $expirationDate, $matches)) {
throw new Services_Payment_Exception('Card expiration date is invalid');
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,它还会验证无效值,例如20111-02(无效年份).我在这做错了什么?我想确认年份是4位数,月份是2位数(01,02 ... 12)
我有这个正则表达式在javascript验证:
/^(?:'[A-z](([\._\-][A-z0-9])|[A-z0-9])*[a-z0-9_]*')$/
Run Code Online (Sandbox Code Playgroud)
现在,我希望使用Codeigniter的表单验证进行表单验证的相同正则表达式:
$this->form_validation->set_rules('username', 'Nombre de usuario', 'required|min_length[2]|max_length[15]|regex_match[/^[A-Z a-z 0-9 _ . \-]+$/]|is_unique[user.username]');
Run Code Online (Sandbox Code Playgroud)
该行中的正则表达式与我提到的正则表达式不同.
当试图复制和粘贴相同的正则表达式时,它不起作用.我知道这是愚蠢的我似乎无法完全理解正则表达式.