我的HTML表单中有一个文本框,我想限制用户在0和f之间输入十六进制值。我该怎么办?
我的HTML文本框代码:
<div class="input-resp-hpux-vbus"><span><input class="textbox" id="vbus-id" name="vbus-id" type="text" size="5" maxlength="3" value="<?php if(isset($_POST['vbus-id'])) { echo htmlentities ($_POST['vbus-id']); }?>" /></span></div>
答案 0 :(得分:3)
你可以使用regular expression并在提交之前或之后验证它:
Regular expression to validate hex string
var control = document.getElementById('vbus-id')';
var regExp = new RegExp(/^0x[0-9A-F]{1,4}$/i);
if (!regExp.test(control))
alert('invalid');
答案 1 :(得分:0)
试试这个http://jsfiddle.net/zXbHz/,
<div class="input-resp-hpux-vbus"><span><input class="textbox" id="vbus-id" name="vbus-id" type="text" size="5" maxlength="4" onblur="isValidhex(this)" value="" /></span></div>
function isValidhex(ele) {
var isOk = /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(ele.value);
return (isOk)?ele.value ="" :true ;
}