2016-12-20 2 views
0

JavaScriptコードには、入力ボックスに特殊文字がないかどうかを確認する部分がありますが、ドット(ピリオド)を入力することはできません。入力するドットを受け入れるようにコードを変更するにはどうすればよいですか?JavaScriptコードではドットを入力できませんが、これを修正するにはどうすればよいですか?

re = /^\w+$/; 
if(!re.test(form.username.value)) { 
    alert("Error: je naam mag alleen letters,nummers, en underscores bevatten!"); 
    form.username.focus(); 
    return false; 
} 

答えて

0

はこれを試してみてください:

re = /^[\w.]+$/; 
if(!re.test(form.username.value)) { 
    alert("Error: je naam mag alleen letters,nummers, en underscores bevatten!"); 
    form.username.focus(); 
    return false; 
} 
+0

他の回答をコピーしましたか? – reformed

+0

いいえ私は自分のコンソールでテストしました – Sahadev

2

Regex101 example

あなたは.使用してグループ[]可能性があります:

re = /^[\w.]+$/; 

は、この情報がお役に立てば幸いです。

re = /^[\w.]+$/; 
 
function test(input) { 
 
    var result = re.test(input) ? "Pass" : "Fail"; 
 
    console.log(input + " : " + result); 
 
} 
 

 
test("word."); 
 
test("word"); 
 
test("word,word"); 
 
test("word.word");

1

re = /^\w+$/;は、正規表現(正規表現)です。

  • \wは、英数字を意味します。
  • ^は「から始まる」という意味です。
  • $は、「末端」を意味する。
  • +は、1回以上の繰り返しを意味する。

したがって、RegExは、英数字で始まり、英数字で終わり、少なくとも1文字長い値を渡します。

.は有効な英数字ではないため、許可する必要があります。

re = /^[\w\.]+$/;に変更するとドットも許可されます。 (\.はRegExで特別な意味を持つため、.文字をエスケープすることです)。

また、Googleの正規表現については、非常に強力で有用な入力検証ツールです。

-1

は、この正規表現を試してみてください。

re = /^\w*\.*\w*$/; 

これは、任意の数の文字(0-無限大)0個以上の文字が続くドットの任意の数をできるようになります。

https://regex101.com/を正規表現テストに使用できます。

+0

この正規表現はすでに提供されているものよりも劣ります。 – reformed

関連する問題