我有一个文本框或输入来保存电话号码,我希望用户只能输入 11 个数字,并且只能接受数字而不是字符。如何检查和显示消息。这在客户端是如何实现的,比如JavaScript,然后发送到服务器端。
我的代码不正确:
<script language="JavaScript" type="text/javascript">
function code(input){
if(input.length != "11"){
//return false;
alert("Enter a Valid Phone Number");
} else {
return true;
}
}
并在提交部分:
<input type=submit border=0 value=" " Onclick=code(getElementById("Phone").value) />
谢谢
您应该在验证条件下alert
后使用return false
,请尝试以下代码
function code(input){
if(input.length != "11"){
alert("Enter a Valid Phone Number");
return false;
}
}
更新
如果您只想接受 11 个数字,请尝试使用RegEx
function code(input){
if(input.match(/^[0-9]{11}$/)){
return true;
}
alert("Enter a Valid Phone Number");
return false;
}
提交按钮将Onclick
更改为带引号的onClick
并使用document.getElementById("Phone").value
而不是getElementById("Phone").value
<input type=submit border=0 value=" "
onClick='return code(document.getElementById("Phone").value)' />
<script>
function code(inputd)
{
var phoneno = /^'d{11}$/;
if(inputd.match(phoneno))
{
return true;
}
else
{
alert("error");
return false;
}
}
</script>
<form>
<input type="text" id='Phone'>
<input type="submit" onclick=return code(document.getElementById("Phone").value);>
</form>
请尝试此希望对您有所帮助。
使用 jQuery 按键事件禁止用户输入数字 (0-9)
以外的任何字符。
jQuery(function(){
jQuery("#Phone").keypress(function(){
var value = jQuery(this).val();
value = value.replace(/[^0-9]+/g, '');
jQuery(this).val(value);
});
});
现在,在验证脚本中,检查长度
function code(input){
if(input.length != "11"){
alert("Enter a Valid Phone Number");
return false;
}
else {
return true;
}
}
使用 jquery 非常简单。尝试:
<input type='text' id='phoneNum' border=0 value="" />
<input type='submit' id='submitBtn' border=0 value="" />
<script language="JavaScript" type="text/javascript">
$('#submitBtn').click(function(){
var phoneNum = $('#phoneNum').val();
code(phoneNum);
// other code
});
function code(input){
if(input.length != "11"){
//return false;
alert("Enter a Valid Phone Number");
} else {
return true;
}
}
</script>