如何限制文本框仅输入十六进制值

时间:2013-10-10 09:31:20

标签: javascript jquery html

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

2 个答案:

答案 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 ;
}