Я пишу функцию резервного копирования базы данных как часть моего школьного проекта.
Мне нужно написать правило регулярного выражения, чтобы имя резервной копии базы данных могло содержать только допустимые символы.
Под «легальным» я подразумеваю строку, которая не содержит ЛЮБЫХ символов или пробелов. Только буквы алфавита и цифры.
Примером допустимой строки будет '31Jan2012'
или '63927jkdfjsdbjk623'
или 'hello123backup'
.
Вот мой код JS:
// Check if the input box contains the charactes a-z, A-Z ,or 0-9 with a regular expression.
function checkIfContainsNumbersOrCharacters(elem, errorMessage){
var regexRule = new RegExp("^[\w]+$");
if(regexRule.test( $(elem).val() ) ){
return true;
}else{
alert(errorMessage);
return false;
}
}
//call the function
checkIfContainsNumbersOrCharacters("#backup-name", "Input can only contain the characters a-z or 0-9.");
Я никогда раньше не использовал регулярные выражения, однако после небольшого поиска я нашел этот инструмент, из которого я написал следующее правило регулярных выражений:
^[\w]+$
^ = начало строки
[/ w] = a-z / A-Z / 0-9
'+' = символы после строки.
При запуске моей функции, любая введенная строка возвращает false :( мой код неверен? Или я не правильно использую правила регулярных выражений?