【发布时间】:2015-03-19 14:21:51
【问题描述】:
我想验证作为地址字段的文本区域,它必须包含字母和数字,至少 1 个数字。 例如:“Laksda Adisucipto 街,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;
}
} );
【问题讨论】:
-
问题是什么?该代码显然是错误的,因为它不允许有任何空格,甚至没有尝试检查至少一位数字(数字)。
-
即使不输入数字,上述正则表达式也允许。快速而肮脏的修复 -
/^.*[a-zA-Z]+.*[0-9]+.*$/
标签: javascript jquery html twitter-bootstrap validation