Вы хотите использовать регулярное выражение:
subject.match(/^sn/i)
^
означает, в соответствии с начала string, ожидать символов sn
прямо в начале. i
на концах означает нечувствительность к регистру, поэтому вам не нужно преобразовывать subject
в нижний регистр. Это не будет работать, если есть пробелы или любые другие символы в этом отношении до начала sn
. Если вы хотите поддержать эти случаи, вам придется обрабатывать их соответственно.
Если вы знаете все символы, которые можно ожидать внутри серийного номера, вы можете использовать группу захвата регулярных выражений в соответствии со всем серийным номером. Следующее регулярное выражение может быть использовано, чтобы соответствовать любому SN с числами или словами:
/^(sn[0-9a-z]+)/i
[0-9a-z]+
означает любую цифру (0-9) и любой знак алфавита (A-Z). +
означает совпадение с 1 или более этими цифрами/символами, и поскольку это нечувствительное к регистру совпадение, оно будет соответствовать как нижним, так и верхним символам. Матч заканчивается сначала нелицензированным символом, например. с пробелом, символ (+
, -
и т. д.) и так далее.
Вы можете увидеть, как это работает регулярное выражение: link
Как вы можете видеть в связанном, например, вы можете проверить, если .match
вернулся null
, в этом случае это означает, что он ничего не найдено.
Этот подход будет обрабатывать серийные номера, как вы ожидаете, вместо того, чтобы игнорировать только те случаи, которые у вас есть. Вы никогда не должны предполагать, что пользователи будут писать правильные английские слова или английский или даже слова, имеющие какой-либо смысл. Игнорирование только слов, где «sn» сопровождается «nt» или «not», является плохим подходом. Если пользователь набирает «snooze», вы по-прежнему будете соответствовать этому как серийный номер, хотя я не думаю, что вы действительно этого хотите.
Убрана часть JQuery в названии и JQuery тега, так как он не требует ничего. Работая над своим ответом прямо сейчас. –
@ Karl-AndréGagnon thanks :) – tatty27
В словаре есть 1629 совпадений для 'sn'. Фильтрация '' 'и' t' не удаляет многие из них. Я думаю, вы должны рассмотреть другой подход. –