0

我的 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>
4

2 回答 2

4

您可以使用正则表达式并在提交之前或按键之后对其进行验证:

正则表达式验证十六进制字符串

var control = document.getElementById('vbus-id')';
var regExp = new RegExp(/^0x[0-9A-F]{1,4}$/i);
if (!regExp.test(control))
   alert('invalid');
于 2013-10-10T09:38:00.073 回答
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 ;
}
于 2013-10-10T09:33:59.843 回答