1

文字列の先頭からのみ特殊文字を削除したい。つまり、私の文字列が次のような場合は、先頭から{abc@xyz.comを削除します。{文字列はabc@xyz.comのようになります。

しかし、私の文字列が次のような場合はabc{@xyz.com、同じ文字列を保持したいと思いますabc{@xyz.com

また、文字列に@記号が含まれているかどうかを確認したいと思います。存在する場合はOK、それ以外の場合はメッセージを表示します。

4

2 に答える 2

1

以下は、指定したもの(またはそれに近いもの)を示しています。

var pat = /^[^a-z0-9]*([a-z0-9].*?@.*?$)/i; //pattern for optional non-alphabetic start followed by alphabetic, followed by '@' somewhere
var testString = "{abc@xyz.com"; //Try with {abcxyz.com for alert
arr = pat.exec(testString);
var adjustedString;
if (arr != null) { adjustedString = arr[1]; }  //The potentially adjustedString (chopped off non-alphabetic start) will be in capture group 1
else { adjustedString = "";  alert(testString + " does not conform to pattern"); }
adjustedString;
于 2013-01-15T06:26:01.677 に答える
1

必要なものを達成するために、2つの別々の正規表現オブジェクトを使用しました。文字列の両方の条件をチェックします。あまり効率的ではないことはわかっていますが、目的には役立ちます。

var regex = new RegExp(/(^{)/);
var regex1 = new RegExp(/(^[^@]*$)/);
var str = "abc@gmail.com";
if(!regex1.test(str)){
     if(regex.test(str))
         alert("Bracket found at the beginning")
      else
        alert("Bracket not found at the beginning")
}
else{
   alert("doesnt contain @");
}

お役に立てれば

于 2013-01-15T07:07:04.953 に答える