我需要验证文本框的值。该文本框用于客户电话号码,格式为0123456789(即仅10个数字,这也意味着输入数字时不允许用户添加任何字母或特殊符号)
数据通过表单POST方法发送到页面(validate.php)。
我想要的功能一个接一个地接受10个数字,没有字母或字符。
答案 0 :(得分:0)
你可以使用preg_match例如
preg_match('/^[0-9]{10}$/', $_POST['your-value']);
答案 1 :(得分:0)
您可以在PHP脚本中使用正则表达式,如AVD所述,或者您可以使用jQuery的validate插件阻止用户提交表单。
HTML
<form name="contact" id="contact">
<input name="number" id="number" />
</form>
JQUERY
$("#contact").validate({
rules: {
number: {
required: true,
minlength: 10,
numeric: true
}
},
messages: {
number: {
required: "Enter a phone number",
minlength: "The phone number is too short",
numeric: "Please enter numeric values only"
}
}
})
jQuery/Validation的更多信息。
答案 2 :(得分:0)
我认为这对你有用:
<html>
<head>
<script type="application/javascript">
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</script>
</head>
<body>
<input type="text" name="tel_num" value="" onkeypress="return isNumberKey(event)" maxlength="10"/>
</body>
</html>
答案 3 :(得分:0)
试试这个。它验证每个键输入的条目
HTML:
<input size="10" maxlength="10" type="text" name="p_len" id="p_len" value="" onkeyup="check(this)" />
使用Javascript:
function check(o) {
v=o.value.replace(/^\s+|\s+$/,''); // remove any whitespace
if(o=='') {
return;
}
v=v.substr(v.length-1);
if(v.match(/\d/g)==null) {
o.value=o.value.substr(0,o.value.length-1).replace(/^\s+|\s+$/,'');
}
}
一旦输入,它将删除非数字输入,并且长度限制为10。
希望这有帮助。