2013-04-10 3 views
3

Я хочу проверить буквенно-цифровую строку в текстовом поле формы в php. Он может содержать числа и специальные символы, такие как '.' и '-', но строка не должна содержать только числа и специальные символы. Пожалуйста, помогите с кодом.php-код для проверки буквенно-цифровой строки

+2

Что именно должно было бы сделать ваш результат проверки и что вы попробовали? – user1914292

+0

Покажите нам допустимые и недействительные входы –

+0

Это в основном поле ввода "asset_details" в форме. Он может принимать буквенно-цифровое значение вместе с "." а также "-". Если пользователь вводит только цифры или только «.» или "-", тогда он должен предупредить, что это не допустимый тип ввода. Короче говоря, он должен принимать комбинацию буквенно-цифровых и "." или "-" –

ответ

6

Попробуйте

if(preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', input)) 
{ 
    //Valid 
} 
else 
{ 
    //invalid 
} 
1

Я вроде новой для регулярных выражений, но я хотел бы сделать это следующим образом:

preg_match('/^[\w.-]+$/', input) 
13

Используйте ctype_alnum, как показано ниже:

if(ctype_alnum($string)){ 
    echo "Yes, It's an alphanumeric string/text"; 
} 
else{ 
    echo "No, It's not an alphanumeric string/text"; 
} 

Читать функциональная спецификация на php.net

2

Код:

if(preg_match('/[^a-z_\-0-9]/i', $string)) { echo "not valid string"; }

Объяснение:

  • [] определение класса = > характер
  • ^= > отрицает класс
  • аз = > символы от 'а' до «г '
  • _ = > Подчеркивание
  • - = > дефис «-» (Вы должны избежать этого)
  • 0-9 = > числа (от нуля до девяти)

«Я» модификатор в конце регулярного выражения для «без учета регистра», если вы не укажете, что вам нужно будет добавить символы верхнего регистра в код до этого, выполнив AZ

+0

Спасибо, очень хорошо объяснил, жаль, что я не смог бы продвинуть еще больше)) – AamirR

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