我想验证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;
}
} );
答案 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;
}
});
答案 3 :(得分:-1)
var isAlfa = this.value.match(/ ^ [A-Za-z \ d( - 。,)] + /);