在Javascript中识别字符串格式

在Javascript中识别字符串格式,javascript,string,search,string-formatting,prompt,Javascript,String,Search,String Formatting,Prompt,我试图用Javascript解决一个(简单的)编程问题,但我不知道如何让它工作。我有一个程序,它从使用提示符读取文本字符串开始 程序输出“有效名称”或“无效名称”,具体取决于输入名称是否符合所需格式,即: 姓、名、中首字母 其中两个名称都不能超过15个字符 我知道有一个简单的方法可以做到这一点,但我似乎在任何地方都找不到。谢谢你的帮助 使用此正则表达式: /^\w{0,15}, \w{0,15}, \w{0,15}\.?$/.test(name) 使用此正则表达式: /^\w{0,15}, \

我试图用Javascript解决一个(简单的)编程问题,但我不知道如何让它工作。我有一个程序,它从使用提示符读取文本字符串开始

程序输出“有效名称”或“无效名称”,具体取决于输入名称是否符合所需格式,即:

姓、名、中首字母

其中两个名称都不能超过15个字符


我知道有一个简单的方法可以做到这一点,但我似乎在任何地方都找不到。谢谢你的帮助

使用此正则表达式:

/^\w{0,15}, \w{0,15}, \w{0,15}\.?$/.test(name)

使用此正则表达式:

/^\w{0,15}, \w{0,15}, \w{0,15}\.?$/.test(name)
这应该有效(在我的测试中有效):

//假设字段中没有逗号
var string=“姓、名、中间首字母”,
string_array=string.split(','),
长度=字符串\数组长度;
对于(i=0;i15)警报('其中任何一个长度都不能超过15个字符。'+string_array[i]+'太长');
}
这应该有效(在我的测试中有效):

//假设字段中没有逗号
var string=“姓、名、中间首字母”,
string_array=string.split(','),
长度=字符串\数组长度;
对于(i=0;i15)警报('其中任何一个长度都不能超过15个字符。'+string_array[i]+'太长');
}

我不会使用
\w
,因为它包括
\u
等字符和九位数字。考虑下面测试中的正则表达式:

<script>
    if ("Nami, Guilherme, P".match(/^[A-Z][a-z]{1,14}, [A-Z][a-z]{1,14}, [A-Z]\.?$/)) {
        alert("Valid");
    }
    else {
        alert("Invalid");
    }
</script>

if(“Nami,Guilherme,P.”匹配(/^[A-Z][A-Z]{1,14}[A-Z][A-Z]{1,14}[A-Z]\.?$/){
警报(“有效”);
}
否则{
警报(“无效”);
}

我不会使用
\w
,因为它包括
\u
等字符和九位数字。考虑下面测试中的正则表达式:

<script>
    if ("Nami, Guilherme, P".match(/^[A-Z][a-z]{1,14}, [A-Z][a-z]{1,14}, [A-Z]\.?$/)) {
        alert("Valid");
    }
    else {
        alert("Invalid");
    }
</script>

if(“Nami,Guilherme,P.”匹配(/^[A-Z][A-Z]{1,14}[A-Z][A-Z]{1,14}[A-Z]\.?$/){
警报(“有效”);
}
否则{
警报(“无效”);
}

将最后一部分更改为单个数字(因为它是初始的),并且可以有一个可选的点字符。在OP的要求中,没有看到名字和姓氏的最小值为5个字符的要求。快!你能在一分钟内想出多少个4个字符或更少的常用名称?杰克吉尔约翰乔恩汤姆迪克汉克鲍勃乔伊李伊万。。。我有一个同事的法定名字是“T”。好吧,好吧,别打我;)。更新了答案。将最后一部分更改为单个数字(因为它是初始的),并且可以有一个可选的点字符。在OP的要求中,没有看到名字和姓氏的最小值为5个字符的要求。快!你能在一分钟内想出多少个4个字符或更少的常用名称?杰克吉尔约翰乔恩汤姆迪克汉克鲍勃乔伊李伊万。。。我有一个同事的法定名字是“T”。好吧,好吧,别打我;)。更新了答案。我会使它不区分大小写,并允许更多字符。考虑像麦当劳和奥利里这样的名字,我会让它变得不敏感,允许更多的角色。考虑一下像麦当劳和奥利里这样的名字,我知道几个名字超过15个字符的人。还有一些没有中间名(包括我自己)或几个中间名。我知道有几个人的名字超过了15个字符,所以我们应该仔细考虑一下决定什么是有效的,什么是无效的。还有一些没有中间名(包括我自己)或几个中间名。有必要对决定什么是有效的,什么是无效的规则进行充分的思考。