如何在输入框中只输入有效的电话号码
How can i input only valid telephone number in input box?
我正试图在这样的输入框中输入电话号码(例如111-222-3333)
所以我使用这个代码:
<script type="text/javascript">
function validate(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode( key );
var regex = /[0-9]|'-/;
if( !regex.test(key) ) {
theEvent.returnValue = false;
if(theEvent.preventDefault) theEvent.preventDefault();
}
}
</script>
我现在只能使用整数(0-9)和"-"输入电话号码,但问题是用户也可以在连字符(‐)后面键入另一个连字符(−)。或者用户可以键入非电话格式的号码
请帮帮我,我真的需要这个。。谢谢:)
看看这个:http://dev.w3.org/html5/markup/input.tel.html
尝试:<input type="tel">
您愿意在多大程度上验证电话号码?你可以让用户或多或少地难以输入错误的号码,但最终你将永远无法完全验证该号码,除非你手动拿起电话确认每个用户,或者通过一些短信服务确认(如果只是手机)。
如果你试图"帮助"用户,让他/她知道服务器期望的模式,你可以使用三个相邻的输入字段,中间有一个短划线。它可能比添加一些高级事件逻辑更有用,这些逻辑可以根据用户类型验证模式。
试试这个
/^'(?('d{3})')?[- ]?('d{3})[- ]?('d{4})$/
将支持
- (111)-222-333
- 111-222-3333
- 111222-3333
- 111222333
相关文章:
- jquery ajax”;SyntaxError:意外的输入结束“;基于有效的JSON
- 输入类型=“;文件“;onclick有效,但文件选择不显示
- 文本输入值有时不会更改,即使它没有错误,并且似乎有效
- 筛选数字数组,其中 0 是有效输入
- Javascript - 当所有输入都有效时启用提交按钮
- ng变化不会'除非我输入了有效的电子邮件地址,否则我不会因为输入电子邮件而被解雇
- 输入元素模式属性的Javascript正则表达式在reFiddle上有效,但在页面上无效
- AngularJS:当输入有效的电子邮件地址时,启用提交按钮
- HTML5 checkValid表示空输入有效
- 在 AngularJS 中,如何在输入字段中输入有效数据时在输入字段前面显示绿色刻度线
- 一旦用户在输入字段中输入有效的美国邮政编码值,如何自动填充城市和州输入字段
- 如何在输入框中只输入有效的电话号码
- 当表单输入有效时更改按钮类
- 在angularjs中输入有效时添加类
- 为什么此输入有效
- 角度材料设计输入有效/无效
- 复制函数只对某些输入有效
- 为什么设置jQuery disabled属性只对第一个单选输入有效?
- 只有最后一个输入有效
- 如何检查用户在javascript中输入有效的英语单词