이 코드 스 니펫은 codeigniter에서 가져온 것으로, 숫자 문자와 대시가 가능한 새로운 함수로 복사하려고합니다. 대시와 괄호를 허용하려면이 정규식에 무엇을 추가해야합니까?이 정규식에 대시를 포함하는 방법
preg_match('/^[\-+]?[0-9]*\.?[0-9]+$/', $str);
이 코드 스 니펫은 codeigniter에서 가져온 것으로, 숫자 문자와 대시가 가능한 새로운 함수로 복사하려고합니다. 대시와 괄호를 허용하려면이 정규식에 무엇을 추가해야합니까?이 정규식에 대시를 포함하는 방법
preg_match('/^[\-+]?[0-9]*\.?[0-9]+$/', $str);
preg_match('/^\+?[-0-9]*\.?[-0-9]+$/', $str);
갱신 :
preg_match('/^\+?[-0-9()]*\.?[-0-9()]+$/', $str);
귀하의 정규 표현식이 의미 가와 라인을 시작 - 또는 + 그럼 어쩌면 다음 0-9 0 번 이상 . MAYBE 다음 번호 중 최소한 하나만 사용하십시오. 0-9
RegEx에서 수행 할 작업을 지정해야 올바른 RegEx를 작성할 수 있습니다.
여기 당신은 이동 편집 :
<?php
// 555-555-5555 or (555) 555-5555 or (555)555-5555
$str = '555-555-5555';
if (preg_match('/^((\([0-9]{3}\)) ?|[0-9]{3}-)[0-9]{3}-[0-9]{4}$/', $str) == 1){
echo 'Yes!';
}else{
echo 'No!';
}
?>
질문에 게시 된 코드는 form_validation 클래스의 codeigniter 함수 "Numeric"에서 직접 가져 왔습니다. 방금 대시와 괄호를 추가하여 허용되도록했습니다. – Catfish
@Catfish, 올바른 답변으로'+ - -) (0'은 누군가의 전화 번호처럼 보입니까? – keyboardSmasher
데이터베이스에 입력 할 숫자를 제외하기 때문에 응용 프로그램에서는 괜찮습니다. 다양한 형식을 입력하십시오. – Catfish
는 문자 클래스에 추가? * [오픈 소스 RegexBuddy 대안] (http://stackoverflow.com/questions/89718/is-there) 및 [온라인 정규식 테스트] (http://stackoverflow.com/questions/32282/regex-testing)도 참조하십시오. 몇 가지 유용한 도구 또는 더 나은 튜토리얼을위한 [RegExp.info] (http://regular-expressions.info/). – mario