2013-01-15 4 views
1

Я хочу удалить специальные символы только начиная с строки. i.e, если моя строка похожа на {[email protected], тогда я хочу удалить { с начала. Строка должна выглядеть как [email protected]Удалить специальный символ из начала строки и search @ symbol.in javascript

Но если моя строка похожа на abc{@xyz.com, тогда я хочу сохранить ту же строку, что и есть., abc{@xyz.com.

Также я хочу проверить это, если моя строка имеет символ @ или нет. Если он присутствует, то OK else покажет сообщение.

+0

Вы ищете для проверки электронной почты? Если так. проверьте это http://stackoverflow.com/questions/2783672/email-validation-javascript – Surabhi

ответ

1

Ниже показано, что вы указали (или близко):

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; 
+0

: - Thanx много .. но что, если я получаю больше одной скобки или любого другого специального символа в начале, т. е., {#! [email protected]z.com. Я хочу исключить специальные символы только из начального (т. Е. До получения первого charcater или целого)? Любая помощь будет высоко оценен!! –

+0

Привет, я отредактировал ответ в соответствии с вашими комментариями. Теперь вначале будут удалены несколько неалфавитных, нецифровых символов. То, как я это делаю, - это использовать *, который будет соответствовать 0 таким символам, если их нет, или одному или многим. – DWright

1

Я использовал два отдельных регулярных выражений объектов для достижения того, что вам требуется .Это проверяет оба условия в 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 @"); 
} 

Надеется, что это помогает

+0

Также, если вам нужна проверка подлинности электронной почты, это хороший поток http://stackoverflow.com/questions/46155/validate-email-address-in-javascript. Однако, поскольку сообщение предполагает, что проверка подлинности электронной почты также должна выполняться на стороне сервера – saraf

Смежные вопросы