0
나는 영국에서 휴대 전화 번호의 모든 사태를 커버하기위한 시도에서 다음과 같은 정규식 표현정규식 유효성 콘 셸
^(\(?\+?(44|0{1}|0{2}4{2})[1-9]{1}[0-9]{9}\)?)?$
있습니다. 나는 그것이 cornshell
fn_validate_msisdn() {
MSISDN=$1
REGEX_PTN="^(\(?\+?(44|0{1}|0{2}4{2})[1-9]{1}[0-9]{9}\)?)?$"
if [ `echo $MSISDN | egrep -c $REGEX_PTN` -gt 0 ]
then
return 1
fi
return 0;
}
에서 제대로 작동 점점 어려움을 겪고 잘 작동하는 온라인 정규식 테스터 통해 검증을 구문 분석하는 호출되는 동안 : 항상 하나, 실패 할 것 같다 그러나
if [ ! `fn_validate_msisdn ${MSISDN}` ]
then
...
fi
구문이 틀리거나 항상 1보다 큰 값을 반환합니다. 테스트 데이터는
을 :447999999999 : OK
07999999999 : OK
4407948777622 : FAIL
43743874874387439843 : FAIL
제안은 좋은 것
Google에서 정규식을 확인하는 데 도움이 될 수 있도록 유효하고 잘못된 몇 가지 예를 제공 할 수 있습니까? –
질문 테스트 데이터에서 인용 : 447,999,999,999 : OK 07,999,999,999 : OK 4407948777622 : FAIL 43,743,874,874,387,439,843 : FAIL – Charabon