如何使用jQuery验证birthdate输入框

时间:2014-03-18 12:52:59

标签: javascript php jquery

如何在不使用任何jQuery插件的情况下验证以下输入框创建函数?

这就是我到目前为止所做的事情,发现从插件中使用了 parseDate 这个功能,所以这对我不起作用。

.js文件代码:

function isBirthdate(valor){
 if (parseDate(valor, "dd-MM-yyyy"))
    return true;
 else
    return false;   
}

.php文件jQuery代码:

    if (isBirthdate($('#fecha_nacimiento').val()) == true){
        errormasg('#fecha_nacimiento',"<?php echo     JText::_('COM_CSTUDOMUS_NUMERIC_TEXTO_FORMATO');?>");
        return false;
    }

.php文件输入框代码:

<input name="fecha_nacimiento" id="fecha_nacimiento" type="text" placeholder="<?php echo JText::_('COM_CSTUDOMUS_DATE_FORMAT'); ?>" value="<?php echo JHtml::date($userData->fecha_nacimiento, 'd-m-Y'); ?>" tabindex="6">

我正确导入.js文件,因此没有问题。

2 个答案:

答案 0 :(得分:1)

我通过以下方式找到了解决方案:

.js文件代码:

function isValidateDate(valor){
    var regexpre = new RegExp(/\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/);
        if (valor.match(regexpre))
            return true;
        else
            return false;
}

.php文件jQuery代码:

if (isValidateDate($('#fecha_nacimiento').val()) == false){
    errormasg('#fecha_nacimiento',"<?php echo JText::_('COM_CSTUDOMUS_FECHA_NAC');?>");
    return false;
}

答案 1 :(得分:0)

你可以使用正则表达式:

var pattern =new RegExp(/^([0-9]{2})\-([0-9]{2})\-([0-9]{4})$/);

然后测试你的价值:

if (pattern.test($('#fecha_nacimiento').val()) == true){
    errormasg('#fecha_nacimiento',"<?php echo       JText::_('COM_CSTUDOMUS_NUMERIC_TEXTO_FORMATO');?>");
    return false;
}