我正在尝试解决Javascript中的(简单)编程问题,我无法弄清楚如何使其正常工作。我有一个程序,首先使用提示符读取文本字符串。
程序输出“有效名称”或“无效名称”,具体取决于输入名称是否符合所需格式,即:
“姓氏,名字,中间名”
其中两个名称都不能超过15个字符。
我知道有一种简单的方法可以做到这一点,但我似乎无法在任何地方找到它。谢谢你的帮助!
答案 0 :(得分:1)
使用这个正则表达式:
/^\w{0,15}, \w{0,15}, \w{0,15}\.?$/.test(name)
答案 1 :(得分:1)
这应该有效(在我的测试中工作):
// assuming there are no commas in fields
var string = "last name, first name, middle initial",
string_array = string.split(', '),
length = string_array.length;
for (i = 0; i < length; i++) {
// changing string to 'blah, firrrrrsssttt nammme, bbbbb' outputs the alert message
if (string_array[i].length > 15) alert('None of these can be more than 15 characters long. ' + string_array[i] + ' is too long');
}
答案 2 :(得分:1)
我不会使用\w
,因为它包含_
等字符和九位数字。考虑以下测试中的正则表达式:
<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>