2017-10-07 5 views
0

フォームの「ユーザー名」フィールドを検証します。私のシナリオでは、特別な文字で始めることはできません「Smith9Rockz」 3)ユーザ名のように間に数字を持つことができる数字(0-9) 2)ユーザ名で開始してはならないRegex式は数字の番号で始まらないでください。

1)ユーザ名を以下の通りです。

私はこの私の条件のために働いていない表現

var validaddress = /^[0-9].*$/; 

はJavascriptで私に正しい正規表現式ガイドを発見しました。どのように私は私の望む結果を得ることができますか?

+0

なぜあなたはユーザ名に数字を禁止でしょうか? – Pointy

+0

文字列にはどの文字を含める必要がありますか? – guest271314

+0

@Pointy私のシナリオをよく読んでください。私は私のユーザ名は数字で始めるべきではないが、ユーザ名の間の数字を持つことができると述べた。 –

答えて

1

用途:

^[[:alpha:]].* 

説明

それは英字(そう、数や特殊文字でもない)で始まるユーザ名(^)を受け取り、その後、彼らが持っています任意の数字/特殊文字(。*)。

あなたがあなたの間に特殊な文字を回避したい場合に使用する必要があります

英数字ため [:alnum:]検索
^[[:alpha:]][[:alnum:]]* 

を。

0

これはあなたの説明に従って動作するはずです。最初の文字セットでは数字と一連の特殊文字が除外されます。その後、それは単なる文字と数字です。

var re = /^[^0-9#$%&*()-][0-9a-z]*$/i 

最初の文字の場合、それは文字でなければならないということを意味していれば、それは簡単です。

var re = /^[a-z][0-9a-z]*$/i 
+0

2番目のソリューションでは、大文字のアルファベット文字を最初の文字として使用できません。 – Neb

+0

@Neb:はい。 – llama

+0

いいえ、[a-Z] – Neb

0

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

var re = /^[a-zA-Z].+$/; 
var valid_username = 'Some1ok!'; 
var invalid_username = '1some1!'; 

re.test(valid_username); // true 
re.test(invalid_username); // false 
関連する問題