如何使用javascript验证文本字符串
How to validate a text string using javascript?
所以我想创建一个提示,询问客户端名称。我想确保它的格式是这样的:"姓氏,名字,中间首字母",并且名字不能超过20个字符。这是我目前为止所拥有的,但不确定从这里到哪里去。
<script language="JavaScript">
//Get the name
var name = prompt("What is your Name?");
//validate
if(name)
//output
document.write ("That is your name! :)");
else
document.write ("Please use the format Last name, first name, middle initial");
</script>
使用正则表达式查看以下简单步骤:
// Get name
var name = prompt("What is your Name?");
// match name with regular expression
if (name.match("^[A-Za-z]{1,20}, [A-Za-z]{1,20}, [A-Za-z]{1,20}")) {
document.write("That is your name! :)");
} else {
document.write("Please use the format Last name, first name, middle initial");
}
结果:
匹配:
- abc,xyz,m
- abcabc、xyzzyz、mr
非匹配:
- ,xyz,m
- 123,a,b
- 名字、中间、首字母有二十多个字符
要完全符合您的标准:
var s = 'smith, john, j';
var isValid = /^'w+, 'w+, 'w$/.test(s) && s.replace(/[, ]/g,'').length < 21;
但这是非常具体的,并且假设20个字符的限制适用于名称的所有部分,并且不包含任何空格、逗号等。顺便说一句,以上对于连字符名称将失败,因此正则表达式可能需要为:
/^['w-]+, ['w-]+, 'w$/;
允许说"Smith Jones,Mary Jo,A"。
您的代码应该是这样的:
<script language="JavaScript">
//Get the name
var name = prompt("What is your Name?");
//validate
if(name && name.length <=20)
{
var i = name.split(',');
if(i.length<3){
document.write ("Please use the format Last name, first name, middle initial");
}else{
//output
document.write ("Your name is: " +name);
}
}else{
document.write ("Please use the format Last name, first name, middle initial");
}
</script>
但这不是一个好的设计,因为就像@Qantas94Heavy在你的评论中提到的那样,如果用户没有中间名或姓氏,你的表格会让他们很难注册。
注意:这只是一个基本的验证,以确保名称有姓氏、名字和中间首字母,并且名称不超过OP提到的20个字符。当然,如果你想更准确和更先进,你可以使用Regex再次验证它。
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 转换<a>使用jQuery将文本字符串转换为dom元素
- 数组中的随机文本字符串
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- javascript高亮文本字符串
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 函数输入上未终止的文本字符串
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 如何使用javascript验证文本字符串
- 将部分文本字符串转换为html
- 如何使用javascript在单个正则表达式中递归替换文本字符串中重复的逗号
- 使用PowerShell在JavaScript网页上搜索文本字符串
- 使用jquery感知文本字符串中的时间范围
- 匹配最后一个点之后的文本字符串
- 从段落中删除某些文本字符串
- 如何使用 javascript 将输入到文本框中的变量插入到文本字符串中
- 当页面上存在特定文本字符串时发送 Google Analytics(分析)事件
- JSON 处理 - 向 JSP 发送 JSON 文本字符串,如何在 JSP 中处理
- 如何使用 JavaScript(但不是标签或属性)替换字符串中所有匹配的纯文本字符串