영숫자만 허용하는 Javascript용 RegEx
영숫자만 사용할 수 있는 reg ex를 찾아야 합니다.지금까지 시도했던 모든 사용자는 문자열이 영숫자일 경우에만 작동합니다. 즉, 문자와 숫자가 모두 포함되어 있습니다.둘 중 하나를 허용하고 둘 다 필요 없는 것을 원합니다.
/^[a-z0-9]+$/i
^ Start of string
[a-z0-9] a or b or c or ... z or 0 or 1 or ... 9
+ one or more times (change to * to allow empty string)
$ end of string
/i case-insensitive
업데이트(범용 문자 지원)
이 regexp가 유니버설 문자를 지원해야 하는 경우 여기에서 Unicode 문자 목록을 찾을 수 있습니다.
예를 들어 다음과 같습니다./^([a-zA-Z0-9\u0600-\u06FF\u0660-\u0669\u06F0-\u06F9 _.-]+)$/
페르시아에 도움이 될 거야
치환된 결과를 반환하려면 다음 절차를 수행합니다.
var a = 'Test123*** TEST';
var b = a.replace(/[^a-z0-9]/gi,'');
console.log(b);
그러면 다음과 같이 반환됩니다.
Test123TEST
gi는 글로벌(첫 번째 일치뿐 아니라 대소문자를 구분하지 않음)을 의미하기 때문에 필요하므로 a-zA-Z 대신 a-z를 사용합니다.그리고 괄호 안의 ^는 "이 괄호 안에 없는 모든 것"을 의미합니다.
경고: 영숫자만 있으면 됩니다.하지만 이름이나 지리적 영역과 같은 국제 시장에서 이것을 사용하는 경우 유니코드 문자를 고려해야 합니다. 이 방법으로는 불가능합니다.예를 들어 "Allvarö"와 같은 이름이 있으면 "lvar"가 됩니다.
문자 클래스라는 단어를 사용합니다.은 '보다 낫다'에 해당합니다.^[a-zA-Z0-9_]+$
:
^\w+$
설명:
- ^ 문자열 시작
- \w 임의의 단어 문자(A~Z, a~z, 0~9, _).
- 문자열 끝 $
/[^\w]|_/g
밑줄과 매치하지 않으셔도 됩니다.
/^([a-zA-Z0-9 _-]+)$/
위의 regex에서는 문자열 측면에 공백을 허용하고 특수 문자를 제한할 수 있습니다.a-z, A-Z, 0-9, 스페이스, 언더스코어 및 대시만 사용할 수 있습니다.
^\s*([0-9a-zA-Z]*)\s*$
또는 최소 1글자를 원하는 경우:
^\s*([0-9a-zA-Z]+)\s*$
대괄호는 문자 집합을 나타냅니다.^은 입력 시작입니다.$는 입력의 끝(또는 옵션에 따라서는 줄바꿈)입니다.\s는 공백입니다.
앞뒤 공백은 옵션입니다.
괄호는 원하는 정보를 추출할 수 있는 그룹화 연산자입니다.
EDIT: \w 문자 집합의 잘못된 사용을 삭제했습니다.
이거면 될 거야
^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]+$
영숫자만 사용할 수 있습니다.
casepaced : 테스트 케이스:
dGgs1s23 - valid
12fUgdf - valid,
121232 - invalid,
abchfe - invalid,
abd()* - invalid,
42232^5$ - invalid
또는
이것도 시도해 보세요.이 표현은 적어도 하나의 숫자와 하나의 문자를 만족시켰으며 다른 특수 문자는 만족하지 않았다.
^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$
angular는 다음과 같이 테스트할 수 있습니다.
$scope.str = '12fUgdf';
var pattern = new RegExp('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$');
$scope.testResult = pattern.test($scope.str);
다국어 지원:
var filtered = 'Hello Привет 你好 123_456'.match(/[\p{L}\p{N}\s]/gu).join('')
console.log(filtered) // --> "Hello Привет 你好 123456"
이것은 대부분의 언어에서 임의의 문자, 숫자 또는 공백과 일치합니다.
- [...] -> 조건과 일치
- [ab] -> 'a' 또는 'b'와 일치합니다.
- \p{L} -> 임의의 언어의 임의의 문자와 일치시킵니다.
- \p{N} -> 임의의 언어로 임의의 숫자와 일치
- \s -> 스페이스를 매칭
- /g -> 첫 번째 일치 후에도 멈추지 않음
- /u -> Unicode 패턴 매칭 지원
참고 자료: https://javascript.info/regexp-unicode
유효한 영숫자 문자열을 체크하는 대신 문자열에 비활성 문자가 없는지 체크함으로써 간접적으로 이를 실현할 수 있습니다.유효한 영숫자 문자열의 보완과 일치하는 것을 체크하는 것으로, 이것을 실시합니다.
/[^a-z\d]/i
다음은 예를 제시하겠습니다.
var alphanumeric = "someStringHere";
var myRegEx = /[^a-z\d]/i;
var isValid = !(myRegEx.test(alphanumeric));
「」의 논리 .isValid
스트링이 유효한지 아닌지를 테스트하고 있기 때문입니다.
Samsung Galaxy A10s 6.2인치(2GB, 32GB ROM) Android 9.0, (13MP+2MP)+8MP 듀얼 SIM 4000mAh 4G LTE 스마트폰 - 블랙(BF19)과 유사한 스트링을 가지고 있습니다.
다음은 제가 한 일입니다.
string.replace(/[^a-zA-Z0-9 ,._-]/g, '').split(',').join('-').split(' ').join('-').toLowerCase()
주의: 허용됨,._-
으로 ' '를 사용합니다.split()
★★★★★★★★★★★★★★★★★」join()
,
로로 합니다.-
및 to to에 공간을 합니다.-
각각 다음과 같다.
는 결국 이런 되었다.samsung-galaxy-a10s-6.2-inch-2gb-32gb-rom-android-9.0-13mp-2mp-8mp-dual-sim-4000mah-4g-lte-smartphone-black-bf19-20
그게 내가 원하던 거야
더 나은 해결책이 있을 수 있지만 이것이 나에게 잘 맞는다는 것을 알게 되었다.
프로젝트 전체에서 사용할 문자열 프로토타입 확장
String.prototype.alphaNumeric = function() {
return this.replace(/[^a-z0-9]/gi,'');
}
사용방법:
"I don't know what to say?".alphaNumeric();
//Idontknowwhattosay
Gayan Dissanayake
★★★★★★ 。
/^[-\w\s]+$/
, 이제^[a-zA-Z0-9]+$
라고 될 수 있다^\w+$
공간 대신 \s를 사용할 수 있습니다.\s는 공백뿐만 아니라 공백도 처리합니다.
우리가 영어로 엄격하게 작업하지 않는 한 이러한 정규 표현은 실패할 것이 거의 확실하다는 것을 많은 사용자들이 알고 있는 것 같습니다.하지만 나는 그렇게 제한되지 않을 쉬운 방법이 있다고 생각한다.
- 문자열 복사본을 모두 대문자로 만듭니다.
- 모두 소문자로 두 번째 복사를 하다
이러한 문자열에 일치하는 문자는 본질적으로 알파벳이 아닙니다.
let copy1 = originalString.toUpperCase();
let copy2 = originalString.toLowerCase();
for(let i=0; i<originalString.length; i++) {
let bIsAlphabetic = (copy1[i] != copy2[i]);
}
옵션으로 숫자 0 ~9 를 찾는 것만으로 숫자를 검출할 수도 있습니다.
이 코드를 SCRACHPAD에 입력하고 액션을 확인하십시오.
var str=String("Blah-Blah1_2,oo0.01&zz%kick").replace(/[^\w-]/ig, '');
숫자만 사용할 수 있는 자바스크립트(알파벳)ETS 및 특수 장비
document.getElementById("onlynumbers").onkeypress = function (e) {
onlyNumbers(e.key, e)
};
document.getElementById("onlyalpha").onkeypress = function (e) {
onlyAlpha(e.key, e)
};
document.getElementById("speclchar").onkeypress = function (e) {
speclChar(e.key, e)
};
function onlyNumbers(key, e) {
var letters = /^[0-9]/g; //g means global
if (!(key).match(letters)) e.preventDefault();
}
function onlyAlpha(key, e) {
var letters = /^[a-z]/gi; //i means ignorecase
if (!(key).match(letters)) e.preventDefault();
}
function speclChar(key, e) {
var letters = /^[0-9a-z]/gi;
if ((key).match(letters)) e.preventDefault();
}
<html>
<head></head>
<body>
Enter Only Numbers:
<input id="onlynumbers" type="text">
<br><br>
Enter Only Alphabets:
<input id="onlyalpha" type="text" >
<br><br>
Enter other than Alphabets and numbers like special characters:
<input id="speclchar" type="text" >
</body>
</html>
조금 늦었지만, 이것은 나에게 효과가 있었다.
/[^a-z A-Z 0-9]+/g
a-z : a부터z까지의 임의의 값.
A ~ Z : A ~Z(대문자).
0 ~ 9 : 0 ~9 의 임의의 숫자.
대괄호 안에 있는 모든 문자를 사용할 수 있으므로 "/" 및 "#"과 같은 다른 문자를 사용할 수 있습니다. regex는 다음과 같습니다.
/[^a-z A-Z 0-9 / #]+/g
이 사이트는 코딩하기 전에 정규식을 테스트하는 데 도움이 됩니다.https://regex101.com/
원하는 것을 수정하고 괄호 안에 추가하세요.경위:)
이거 드셔보세요.필드 ID를 #name... a-z(a~z), A-Z(A~Z), 0-9(0~9)로 바꿉니다.
jQuery(document).ready(function($){
$('#name').keypress(function (e) {
var regex = new RegExp("^[a-zA-Z0-9\s]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
});
});
이 상수 저장
const letters = /^[a-zA-Z0-9]+$/
여기서 부품을 확인하려면 .match()를 사용합니다.
const string = 'Hey there...' // get string from a keyup listner
let id = ''
// iterate through each letters
for (var i = 0; i < string.length; i++) {
if (string[i].match(letters) ) {
id += string[i]
} else {
// In case you want to replace with something else
id += '-'
}
}
return id
대소문자를 구분하는 영숫자:
if (/^[a-zA-Z0-9]+$/.test("SoS007")) {
alert("match")
}
숫자와 문자만 허용(스페이스 없음)
function onlyAlphanumeric(str){
str.value=str.value.replace(/\s/g, "");//No Space
str.value=str.value.replace(/[^a-zA-Z0-9 ]/g, "");
}
<div>Only accept numbers and letters </div>
<input type="text" onKeyUp="onlyAlphanumeric(this);" >
숫자, 알파벳만 받아들이기 위한 쿼리ETS 및 특수 장비
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
Enter Only Numbers:
<input type="text" id="onlynumbers">
<br><br>
Enter Only Alphabets:
<input type="text" id="onlyalpha">
<br><br>
Enter other than Alphabets and numbers like special characters:
<input type="text" id="speclchar">
<script>
$('#onlynumbers').keypress(function(e) {
var letters=/^[0-9]/g; //g means global
if(!(e.key).match(letters)) e.preventDefault();
});
$('#onlyalpha').keypress(function(e) {
var letters=/^[a-z]/gi; //i means ignorecase
if(!(e.key).match(letters)) e.preventDefault();
});
$('#speclchar').keypress(function(e) {
var letters=/^[0-9a-z]/gi;
if((e.key).match(letters)) e.preventDefault();
});
</script>
</body>
</html>
**JQUERY to accept only NUMBERS , ALPHABETS and SPECIAL CHARACTERS **
<!DOCTYPE html>
$('#onlynumbers').keypress(function(e) {
var letters=/^[0-9]/g; //g means global
if(!(e.key).match(letters)) e.preventDefault();
});
$('#onlyalpha').keypress(function(e) {
var letters=/^[a-z]/gi; //i means ignorecase
if(!(e.key).match(letters)) e.preventDefault();
});
$('#speclchar').keypress(function(e) {
var letters=/^[0-9a-z]/gi;
if((e.key).match(letters)) e.preventDefault();
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
숫자만 입력:
알파벳만 입력:
알파벳 및 숫자 이외의 특수 문자 등 입력:
</body>
</html>
또한 알파벳 문자만 찾는 경우 다음과 같은 정규 표현을 사용할 수 있습니다.
/[^a-zA-Z]/gi
타이프 스크립트의 샘플 코드:
let samplestring = "!#!&34!# Alphabet !!535!!! is safe"
let regex = new RegExp(/[^a-zA-Z]/gi);
let res = samplestring.replace(regex,'');
console.log(res);
주의: RegEx 구문이 궁금하신 경우 regexr을 방문하여 치트 시트를 사용하거나 정규 표현을 사용해 보십시오.
편집: 영숫자 --> 영숫자
언급URL : https://stackoverflow.com/questions/388996/regex-for-javascript-to-allow-only-alphanumeric
'programing' 카테고리의 다른 글
JAR 내에 JAR을 포함한 클래스 패스 (0) | 2022.10.28 |
---|---|
findBy / findAllBy의 스프링 데이터 JPA 차이 (0) | 2022.10.28 |
Java String.trim()은 몇 개의 공간을 삭제합니까? (0) | 2022.10.28 |
Panda 데이터 프레임에서 NaN 값이 들어 있는 열을 찾는 방법 (0) | 2022.10.28 |
ownCloud 서버: DBA_DEFAULT PHP 오류 (0) | 2022.10.28 |