0
我有一個驗證用戶名的腳本。當用戶輸入沒有空格的名字時,它可以正常工作。如果用戶用空格輸入名字(名字,姓氏,姓氏等),那麼它不起作用。我試圖使用\s
來捕捉'空格'字符,但它不起作用。使用Javascript正則表達式驗證HTML表單
我的腳本是:
var name=document.forms["newform"]["fullname"].value; //get the name from HTML form
var charpos = name.search("[^A-Za-z\s]");
if (name.length <= 0 || name.length>=50 || charpos >= 0)
{
alert('wrong.');
}
else
{
alert('correct');
}
輸入1:AFGH
輸出1:正確
輸入2:ABCD EFGH
輸出2:錯誤
當給出Input2時,charpos
的值爲'5'。
謝謝SLaks。有效!!你能解釋一下字符串文字是如何吞嚥'\'的嗎?吞嚥是什麼意思?再次感謝。 – 2011-12-28 20:38:01
@iSumitG,'\'是常規字符串中的一個轉義字符,如果您希望自己的字符出現在字符串中,則必須將其轉義,例如''[^ A-Za-z \ s]「' 。 – Qtax 2011-12-28 20:57:27