텍스트 상자가 있고 사용자가 지정된 데이터를 제공하는 대신 na를 입력하고 있습니다. 명시 적으로 필드에 na를 입력 할 수 없도록하려면 어떻게해야합니까? asp regularexpressionvalidator를 사용하고 싶습니다.사용자가 NA 또는 N/A 또는 na 또는 n/a를 입력 할 수 없도록하는 정규식
답변
간단한 if 문으로 해결할 수있는 정규식을 사용하는 이유는 무엇입니까?
if (input.ToLower().Trim() != "na" && input.ToLower().Trim() != "n/a")
{
// Continue processing
}
유효한 옵션이지만 정규식은 ASP.NET에서 regularexpressionvalidator를 사용하기 때문에 선택된 솔루션입니다. 이것은 질문에 대한 대답이 아닙니다. –
라이언은 좋은 포인트를하게 -하지만 당신이 있다면이 트릭 (당신은 대소 문자를 구별로 표시 확인)해야한다, 정규식을 사용하여 죽은-설정 :
^n\/?a$
이것은 옥수수/익명과 일치합니다. –
맞아요. 패턴에 시작/끝 마커를 추가했습니다. – girasquid
^(?!\s*n\s*/?\s*a\s*$).*
을
은 사용자가 n/a
을 제외한 항목을 입력하면 일치하고 그렇지 않으면 입력 문자열을 반환합니다. 대/소문자를 구분하지 않는 일치 검색을 선택하면 질문의 모든 변형이 적용됩니다 (.NET에서는 옵션 RegexOptions.IgnoreCase
을 사용). 또한 공백 문자는 무시되므로 사용자는 단순히 n/ a
을 입력 할 수 없습니다. ? 토큰, 그래서 결과 정규식 그렇게 될 수 있습니다 :
문제는 옥수수/익명과도 일치합니다. –
@ Ryan Pedersen : 어떻게 문제가 되나요? 옥수수/익명은 합법적 인 일치이므로 'n/a'를 제외하고는 모두 일치해야합니다. –
AFAIK, RegularExpressionValidator는 Regex 생성자처럼 RegexOptions 인수를 허용하지 않습니다. 인라인 수정자인'(? i)'를 사용해야하지만 유효성 검사기는 서버에서만 실행될 수 있습니다. 자바 스크립트는 인라인 수정자를 지원하지 않습니다. –
소문자 구분은 내가으로 전환 할 수
(?i:^n\/a$)
업데이트 : 추가 괄호 앨런의 코멘트 후.
이것은 asp.net에 대한 유효한 정규 표현식이 아닙니다. RegularExpressionValidator를 사용하여 웹 페이지에 넣을 때 다음과 같은 오류가 발생합니다. "? i :^n \/a $"- 아무 것도 따르지 않는 한정 기호 {x, y}를 구문 분석합니다. –
인라인 수정 자의 올바른 구문은'(? i :^n/a $)'또는'(? i)^n/a $'이지만, Tim의 답변에 대한 내 의견을 참조하십시오. (또한'/'는 regexes에서 특별한 의미가 없습니다. 정규 표현식 * 구분 기호 *로 사용되는 경우 이스케이프 처리 만하면되지만 .NET에서는 문제가되지 않습니다.) –
패턴이 일치하지 않을 때 오류가 발생하므로 RegularExpressionValidator에서이를 수행 할 수 없습니다. 패턴이 일치 할 때 오류 조건을 제공하기 위해 RegularExpressionValidator를 반전 할 수있는 방법이 없습니다.
CustomValidator를 사용하면 이전에 4 Guys From Rolla wrote an tutorial on how to do this이 완료되었거나 Peter Blum의 일부 유효성 검사기를 얻을 수 있습니다.
많은 시간을 투자하기 전에 @bemace의 의견을 고려해야합니다. 이것을 구현하면 n/a 대신에 새로운 종류의 "쓰레기"가 생깁니다.
- 1. CruiseControl.NET 및 NA
- 2. ExpressionSet (ESET) NA
- 3. 1,0, NA 처리시 레벨이 없음
- 4. 적용 및 고유 한 NA 값 처리
- 5. 임시 TS 플로팅 및 NA 데이터 생략
- 6. 표준 편차를 실행할 때 "NA"가 표시됩니다.
- 7. YQL에서 반환 된 결과가 없으면 "NA"를 반환하는 방법
- 8. NaN, NA, Inf, -Inf 등을 탐지하는 함수 하나?
- 9. 행렬에서 행 당 "NA"가 아닌 열을 식별하는 방법은 무엇입니까?
- 10. SSRS 오류 : 문자열 "string; #NA"에서 '날짜'유형으로의 변환이 유효하지 않습니다.
- 11. PHP 정규식 또는 | 운영자
- 12. 정규식 자습서 또는 서적
- 13. 데이터 프레임에서 NA를 매 3 개의 다른 데이터에 어떻게 설정할 수 있습니까?
- 14. 불규칙한 시계열 M-D-Y hh : mm : ss를 일반 TS로 채우기 NA
- 15. 일치하는 알고리즘 또는 정규식?
- 16. 정규식 INT 또는
- 17. 자바 String.matches와 정규식 또는 파이프
- 18. 입력 또는 출력 중에 HtmlEncode합니까?
- 19. 사용자 입력 유효성 확인 또는
- 20. 사용자가 파일 또는 당신이 좋아하는 뭔가를 할 수 PyQt는에서 QFileDialog
- 21. R에서 strptime을 사용하여 "% Y- % m"구문 분석에서 왜 NA 결과를 얻지 만 "% Y- % m- % d"가 작동합니까?
- 22. 시리얼 형식 입력 또는 쿼리
- 23. 정규식 또는 strpos가있는 가장 안쪽의 중괄호와 일치합니까?
- 24. XSL 또는 XSLT 또는 XSLFO : 텍스트를 확장 할 수 있습니까?
- 25. xtable에있는 셀을 R에 병합 할 수 있습니까
- 26. : runOnUiThread 또는 AsyncTask 또는 Handler 또는 Post
- 27. 인디 또는 ICS 또는?
- 28. PHP :`â` 또는`â €`를 제거하는 정규식?
- 29. 문자열이 사람의 이름인지 확인하기위한 정규식 또는 데이터베이스?
- 30. 정규식 : 단일 다중 또는 우편 번호
필드에 특정 형식 (전화 번호, 날짜)이있는 경우 해당 입력이 해당 형식과 일치하는지 확인하십시오. 그렇지 않으면 N/A를 거부하면 다른 쓰레기를 입력하게됩니다. 정규 표현식을 사용하면 사람들이 나눠주고 싶지 않은 정보를 줄 것입니다. –