验证textarea输入的字母数字值

时间:2015-01-21 06:27:53

标签: javascript jquery html twitter-bootstrap validation

我想验证textarea是一个地址字段,它必须包含字母和数字,至少包含1个数字。 例如:" Laksda Adisucipto street,no 22A。" 但是当我输入:" Laksda Adisucipto street" (没有号码)它可以显示警告"你必须输入至少1个号码"

我正在使用Twitter Bootstrap和Validator.js 这是我的代码

HTML:

<div class="form-group col-md-12">
                        <label for="address" class="control-label"><span>*</span> <?php echo $this->lang->line('address');?></label>
                        <textarea class="form-control" id="address" rows="5" required name="address" data-error="Address is required"></textarea>
                        <span class="help-block with-errors"></span>
                    </div>

JS:

<script>
$('#address').change(function()  
{  
 var letterNumber = /^[0-9a-zA-Z]+$/;  
if(($('#').value.match(letterNumber))   
{  
 return true;  
}  
else  
{   
 alert("message");   
 return false;   
}  
 }  );

4 个答案:

答案 0 :(得分:1)

试试这个

$('#address').blur(function()  
{  
 var letterNumber = /^[0-9a-zA-Z]+$/;  
    if(this.value.match(letterNumber))   
      {  
       return true;  
      }  
    else  
    {   
     alert("message");   
     return false;   
    }  
 });

您可以在此处查看:http://jsfiddle.net/oa6eewck/

答案 1 :(得分:1)

$('#address').blur(function()  
{  
 var letterNumber = /^[0-9a-zA-Z]+$/;  
    if(this.value.match(letterNumber))   
      {  
       return true;  
      }  
    else  
    {   
     alert("message");   
     return false;   
    }  
 });

这个函数只允许使用字符和数字,这对输入文本字段很有用,但是因为你有文本区域“空格”,“逗号”和“句号”是正确的。

所以最好按照以下表达式进行:

    $('#address').blur(function()  
        {  
        var hasNumber    = this.value.match(/^[a-zA-Z0-9\s .,]+$/);
        if ( hasNumber) {
         return true;
        } else {
         alert("message");   
         return false; 
        }
        });

答案 2 :(得分:0)

$('#address').on('change', function () {
    var hasNumber = this.value.match(/\d/);
    var isAlfa    = this.value.match(/^[0-9a-zA-Z]+$/);

    if ( hasNumber && isAlfa ) {
        return true;
    } else {
        alert("message");   
        return false; 
    }
});

FIDDLE

答案 3 :(得分:-1)

adeneo的解决方案是正确的。但我认为是阿尔法应该有以下价值

var isAlfa = this.value.match(/ ^ [A-Za-z \ d( - 。,)] + /);