Python isalnum 英数字のみか?入力値チェック

スポンサーリンク

Pythonでは「isalnum」を使って英文字・数字のみか?をチェックすることができます。

入力値をチェックする場合に、「isalnum」は有効です。英文字と数字以外が含まれていれば「Flase」を返すことができます。

今回は、Pythonで英数字のみかチェックする「isalnum」の使い方を解説します。

英数字のみかチェックするisalnum

isalnum構文

# 英数字のみかチェックする
文字列.isalnum()

「isalnum」で対象の文字列が英数字のみかチェックします。英数字のみなら「True」、英数字以外も含む場合は「False」を返します。

isalnumの使用例

例1. 英数字のみか?

'ABCD'.isalnum()
#[結果] True
'1000'.isalnum() 
#[結果] True
'A1234'.isalnum() 
#[結果] True
'A-1234'.isalnum() 
#[結果] False

「isalnum」で文字列が英数字のみか?チェックしました。英数字、英字のみ、数値のみの場合は「True」が返されました。

記号が入る文字列では「False」が返されました。

例2. カンマを含む数値

'1,000'.isalnum() 
#[結果] False

'1,000'.replace(',', '').isalnum()
#[結果] True

「isalnum」でカンマを含む数値をチェックしましたが、「False」が返されました。数値でもカンマが入っているとうまくチェックできません。

その場合、「replace」でカンマを消してから「isalnum」すると正常に判定されます。

例3. マイナスを含む数値

'-100'.isalnum() 
#[結果] False

'-100'.replace('-', '').isalnum()
#[結果] True

「isalnum」でマイナスを含む数値をチェックしましたが、「False」が返されました。数値でもマイナスがあるとうまくチェックできません。

その場合、「replace」でマイナスを消してから「isalnum」すると正常に判定されます。

例4. 全角を含む数値

'100パーセント'.isalnum() 
#[結果] True

'100パーセント'.encode('utf-8').isalnum() 
#[結果] False

「isalnum」で全角を含む数値をチェックしましたが、「True」が返されました。全角があっても「True」になるためうまくチェックできません。これでは使えませんね・・・。

その場合は、文字コードを「UTF-8」にすると「isalnum」で正常に判定できます。

 

これで英数字のみを含む文字列かをチェックすることができました。

以上、Pythonで英数字のみかチェックする「isalnum」の使い方でした。

コメント

  1. あf より:

    全角日本語も試しましょう

    • 鎖プロ より:

      全角日本語についても追加しました。
      アドバイス、ありがとうございました!