嗨,任何人都可以通过给javascript代码验证用户名文本框来帮助我,文本框不应该包含数字,它只能包含一个字符。javascript验证
0
A
回答
0
方法1:isNaN
addEvent(document.getElementById('myForm'), 'submit', function() {
var val = document.getElementById('myInput').value;
if (isNaN(val) || val.indexOf('.') !== val.lastIndexOf('.') || val.split('.')[1].length > 2) {
alert('myInput can only contain numbers!');
}
});
方法2:正则表达式
addEvent(document.getElementById('myForm'), 'submit', function() {
var val = document.getElementById('myInput').value;
if (!/^\d+\.?\d{0,2}$/.test(val) || val.charAt(-1) == '.') {
alert('myInput can only contain numbers!');
}
});
方法3:只允许输入数字
addEvent(document.getElementById('myInput'), 'keyup', function() {
// replace everything except digits and a decimal place on every keypress
this.value = parseFloat(this.value).toFixed(2);
});
请注意,用户可以禁用JavaScript,因此你也应该处理在服务器端表单值无效。
这里是我用于跨浏览器事件处理的addEvent
函数,因为IE <仅支持attachEvent
,其他浏览器仅支持addEventListener
。
function addEvent(element, eventType, eventHandler) {
if (window.addEventListener) {
element.addEventListener(eventType, eventHandler, false);
} else {
element.attachEvent('on'+eventType, eventHandler);
}
}
更新:现在只有两个数字是一个小数点后允许的。
2
您是否尝试过在javascript中使用isNAN函数。
2
使用正则表达式:
(\d)+
如果你有一个比赛,你必须在你的字符串的数字。
-1
尝试这种情况:
if(!/\d*/.test(userName))
{
//do something..
}
相关问题
- 1. Javascript验证或ASP验证?
- 2. Javascript测验验证
- 3. 验证,JavaScript的
- 4. JavaScript Bootstrap验证
- 5. javascript csv验证
- 6. Javascript验证
- 7. JavaScript验证
- 8. JavaScript验证
- 9. Javascript验证
- 10. javascript验证
- 11. jquery验证javascript
- 12. javascript验证
- 13. javascript验证
- 14. 的Javascript验证
- 15. JavaScript验证
- 16. Javascript/PHP验证
- 17. JavaScript验证W3C
- 18. Javascript URL验证
- 19. javascript验证
- 20. Javascript验证
- 21. 纯JavaScript验证
- 22. Javascript验证码
- 23. TinyMCE Javascript验证
- 24. 的IPv6验证和IPv4验证在JavaScript
- 25. 验证图片验证码。 jquery PHP&javascript
- 26. 验证“%”和“(” JavaScript的
- 27. 表单验证javascript
- 28. Timepicker验证? JQuery/Javascript
- 29. 验证库PHP/Javascript
- 30. Javascript:表单验证?
+1正则表达式是最好的方式去验证,恕我直言。 – Liam 2010-12-04 16:24:44