2016-02-12 155 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