我想僅從字符串的起始處刪除特殊字符。 即,如果我的字符串像{[email protected]
那麼我想從起始處刪除{
。字符串應該看起來像[email protected]從字符串的起始處刪除特殊字符並搜索@ symbol.in javascript
但是,如果我的字符串像abc{@xyz.com
那麼我想保留相同的字符串,因爲它是,即abc{@xyz.com
。
另外我想檢查一下,如果我的字符串有@符號存在與否。如果它存在,那麼確定,否則顯示一條消息。
我想僅從字符串的起始處刪除特殊字符。 即,如果我的字符串像{[email protected]
那麼我想從起始處刪除{
。字符串應該看起來像[email protected]從字符串的起始處刪除特殊字符並搜索@ symbol.in javascript
但是,如果我的字符串像abc{@xyz.com
那麼我想保留相同的字符串,因爲它是,即abc{@xyz.com
。
另外我想檢查一下,如果我的字符串有@符號存在與否。如果它存在,那麼確定,否則顯示一條消息。
下面演示你指定什麼(或者已經非常接近):
var pat = /^[^a-z0-9]*([a-z0-9].*[email protected]*?$)/i; //pattern for optional non-alphabetic start followed by alphabetic, followed by '@' somewhere
var testString = "{[email protected]"; //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;
: - 非常感謝..但如果我在開始時得到多個括號或任何其他特殊字符,例如{#! [email protected]。我想從開始只消除特殊字符(即,直到收到第一個charcater或整數)?任何幫助將不勝感激! –
嗨,我根據你的意見編輯了答案。現在,多個非字母,非數字字符將在開始時被剝離。我這樣做的方式是使用*,如果沒有任何或一個或多個,它將匹配0個這樣的字符。 – DWright
我用兩個獨立的regex對象來實現你需要.IT檢查均在string.I條件知道它不是非常有效,但它會滿足你的目的。
var regex = new RegExp(/(^{)/);
var regex1 = new RegExp(/(^[^@]*$)/);
var str = "[email protected]";
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 @");
}
希望這有助於
此外,如果你需要電子郵件驗證這裏是一個很好的線程http://stackoverflow.com/questions/46155/validate-email-address-in-javascript。但是,由於帖子建議電子郵件驗證也應該在服務器端進行 – saraf
您是否在尋找電子郵件驗證?如果是這樣。檢查這個http://stackoverflow.com/questions/2783672/email-validation-javascript – Surabhi