![](/img/trans.png)
[英]Validate and allow specific username to login in username text field of HTML
[英]Validate username in html
我希望文本框后跟用户名只能接受字母或数字或其组合。如果用户输入除字母或数字以外的任何内容,则单击按钮时应出现警报对话框。我的代码是:
<html>
<body>
<form name="f1">
username <input type="text" name="tb1"><br>
<input type="button" value="validate" onclick="val()">
</form>
<script>
function val()
{
if(document.f1.tb1.value=="")
alert('Enter username!');
}
</script>
</body></html>
谁能告诉我解决方案?
在val
函数中使用正则表达式:
function val()
{
if(document.f1.tb1.value=="")
alert('Enter username!');
if(/[^a-zA-Z0-9]/.test(document.f1.tb1.value))
alert('Username must only consist of letters and numbers')
}
这行代码的作用是查看您传递给test
的字符串是否具有az,AZ和0-9以外的其他值。 如果是这样,则会发出警报。 如果您愿意接受下划线作为有效字符,则if
变得简单得多:
if(/[\W]/.test(document.f1.tb1.value))
\\w
是代表所有数字,字符和下划线的快捷方式。 [^...]
语法的意思是“与该列表不匹配的任何字符。 \\W
实际上是[^\\w]
的快捷方式,它查找不是AZ,az,0-9和_的任何内容。 。
根据您的评论进行编辑
如果只想接受字母字符,则只需测试az而不是在表达式中添加0-9:
if(/[^a-zA-Z]/.test(document.f1.tb1.value))
这将检查document.f1.tb1.value
的值以查看其是否包含不是字母的任何内容,即z和AZ之外的任何内容。
关于正则表达式的文档很多。 一旦您理解了这个概念,我将使用MDN作为参考。
这个怎么样 ?:
编辑:
function val()
{
if(document.f1.tb1.value == null ||
document.f1.tb1.value == undefined ||
/[^a-zA-Z0-9]+/.test(document.f1.tb1.value))
alert('invalid username!');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.