const checkNumberString = inputString => {
const inputAry = [...inputString]; // 文字列を配列にする
const [ firstChar, ...restAry ] = inputAry; // 1文字目と2文字目以降に分ける
if ( restAry.length === 0 ) { return false }; // 1文字しかない場合
// 1文字目が、+/- ではない場合
if ( !( firstChar === "+" || firstChar === "-" ) ) { return false };
// 2文字目以降のすべてが、数字かどうか
const res = restAry.every( ( char ) => {
const cp = char.codePointAt(0);
return ( 48 <= cp && cp <= 57 ); // 0〜9
} );
return res
}
const testAry = ['', '+', '-0', '+019', '-9🌕には𩸽'];
const results = testAry.map( (str) => checkNumberString(str) );
console.log( results );
//=> [ false, false, true, true, false ]
探検
JavaScript の質問用スレッド vol.125
■ このスレッドは過去ログ倉庫に格納されています
291デフォルトの名無しさん (ワッチョイ 214f-emCW [180.0.191.133])
2022/11/28(月) 16:27:54.36ID:HJ3Js2uA0■ このスレッドは過去ログ倉庫に格納されています
