ユーザーが以下の有効な文字リストに従っていることを確認するjavascript関数を作成するには最適な方法/正しい方法です(ユーザーはhtml形式でユーザー名を入力します)。関数に従うとtrueを返し、そうでなければfalseを返します。正規表現が一致した場合にJavascript関数有効なユーザー名
validcharacters = '1234567890-_.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
ユーザーが以下の有効な文字リストに従っていることを確認するjavascript関数を作成するには最適な方法/正しい方法です(ユーザーはhtml形式でユーザー名を入力します)。関数に従うとtrueを返し、そうでなければfalseを返します。正規表現が一致した場合にJavascript関数有効なユーザー名
validcharacters = '1234567890-_.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
function usernameIsValid(username) {
return /^[0-9a-zA-Z_.-]+$/.test(username);
}
この関数はtrueを返します。 username
が数字、文字、_
、.
、-
文字で構成されている場合、正規表現は一致します。
あなたはまた、正規表現せずにそれを行うことができます:
function usernameIsValid(username) {
var validcharacters = '1234567890-_.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
for (var i = 0, l = username.length; i < l; ++i) {
if (validcharacters.indexOf(username.substr(i, 1)) == -1) {
return false;
}
return true;
}
}
この1のために、我々はusername
内のすべての文字を反復処理し、文字がvalidcharacters
であることを確認してください。
あなたは '!!'の使用法を説明できますか? 'username.match(/^[0-9a-z _.-] + $ /)'と同じではありませんか? – besamelsosu
'.match'の戻り値をブール値に変換します。 http://stackoverflow.com/questions/784929/what-is-the-operator-in-javascript – arnaud576875
または「/^[0-9a-zA-Z_.--]+$/.test(username)」を参照してください。 '。これは、マッチよりも安価な操作である可能性があります。 – sethobrien
一つの方法は、入力フィールドから各文字を読んで、それは効率的ではないので
はループとネストされたループを使用しないでくださいのindexOf()関数を使用することです。正規表現を使用する必要があります。 –