The question has several answers and they do not agree.
By language: anyone whose mother tongue is Punjabi, which is around 150 million people, most of them Muslims in Pakistan.
By territory: anyone from the historic province, which includes Saraiki, Hindko, Pothohari and Bagri speakers, Haryanvis, Himachalis and the people of Delhi's Punjabi colonies.
By religion, which is how the twentieth century made everyone think: Sikh, Muslim, Hindu, Christian, and the communities that reject those categories.
By self-description, which is what actually operates. A Punjabi Muslim in Lahore, a Punjabi Sikh in Surrey, a Punjabi Hindu in Delhi and a Punjabi Christian in Faisalabad will all use the word about themselves and mean different things by it.
The categories were fluid before the census and the reform movements made them hard, and they became lethal in 1947.
This site uses the widest definition available, because the narrower ones are all products of the last hundred and fifty years and the region is a great deal older than that.
By language, a Punjabi is anybody who speaks Punjabi, which includes nearly ninety million people in Pakistan, thirty million in India and several million elsewhere.
By state, a Punjabi is a resident of Indian Punjab, which is a smaller and different group, and by religion the word is often used to mean Sikh, which is a smaller group again.
This site uses the first meaning. That choice is the reason there are pages here about Multan, Jhang, Pothohar and Sindh, and it is a choice rather than a neutral fact.