2016-02-12 124 views
2

我有这个脚本,并且想为每个名称实现12个字符限制,比如名字,姓氏和中间名每个名称不能超过12个字符。文本字符数限制

var name = prompt("Please enter (Last name, First name, Middle initial)"); 
 

 
function fullName(alf) { 
 
    var validate = alf.match(/^[a-zA-Z', ]+$/); 
 
    if (validate == name) 
 
     return true; 
 
    else 
 
     return false; 
 

 
} 
 

 

 
var tst = fullName(name); 
 
if (tst) 
 
    document.write("Valid Name"); 
 
else 
 
    document.write("Invalid Name");

+1

'alf.match(/^[A-ZA-Z”(但是如果使用,而不是一个提示输入字段可以通过定义 “最大长度”,例如<input type="text" name="yourname" maxlength="10">限制其长度) ,] {,12} $ /);' –

+0

只要告诉我名字将如何输入。我的意思是用逗号或空格分隔。例如Armstrong,M,James或Armstrong M James –

+0

如果您只需要验证名称不超过12个字符,为什么不简单地检查输入的长度并且有if条件来检查它是否大于12? – Erick

回答

0

这是相当简单的。只需检查提示输入的长度,就像这段代码一样。

var name = prompt("Please enter (Last name, First name, Middle initial)"); 
 

 
function fullName(alf) { 
 
    var validate = alf.match(/^[a-zA-Z', ]+$/); 
 
    if (validate == name) 
 
     return true; 
 
    else 
 
     return false; 
 

 
} 
 

 
var len = name.length; 
 
var tst = fullName(name); 
 

 
if (tst && len <= 39)    // len 12 * 3 for each value + 3 for spaces/commas separating names. 
 

 
    document.write("Valid Name"); 
 
else 
 
    document.write("Invalid Name"); 
 
    

+0

'if(validate == name)return true;否则返回false;'完全等同于'return validate == name;'。 – 2016-02-12 05:14:45

+0

但他想检查每个名字的长度,而不是整个输入的长度。 – 2016-02-12 05:19:39